docker 挂载卷应用
基础知识
官网说明Use bind mounts
官网compose文件:Compose file version 3 reference
bind 挂载,就是宿主机路径对应容器路径,该挂载需要先创建目录,简称/path:/path
volume挂载,不需要提前创建目录,他是以volume形式,简称volume-name:/path
其中z
和Z
的使用,eg:/path:/path:z
z
小写的是可以容器共享
Z
大写的是私有,容器不可共享
ro
只读挂载
思路
利用gluterfs作为分布式文件系统做同步用,利用虚拟机挂载一个volume专门的存储硬盘
实现
常用命令
1 2 3 4 5 6 7 8 9 10 11
| fdisk -l
mount /dev/sdb /mnt/test
umount mnt/test
gluster volume status v-portainer
gluster peer detach home
gluster peer status
|
单步步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| mkdir /dockerdata
mount /dev/sdb /dockerdata df -h
echo "dev/sdb /dockerdata ext4 defaults 0 0">>/etc/fstab mkdir /dockerdata/v-portainer
gluster volume create v-portainer replica 2 home:/dockerdata/v-portainer xuanps:/dockerdata/v-portainer force
gluster volume start v-portainer
mkdir /volume/v-portainer
mount -t glusterfs home:/v-portainer /volume/v-portainer
echo "home:/v-portainer /volume/v-portainer glusterfs defaults 0 1" >> /etc/fstab
docker stack deploy -c docker-compose.yml gitlab
|
问题总结
- 使用之后,存储数据受网络印象,导致部分应用因为长时间连接不上而导致,不能启动,因此搁置
- 如果出现节点disconnect,在disconnect节点执行
systemctl restart glusterd
重启