docker run -it --rm -v /data1:/data1 -v /data2:/data2:ro -v /etc/yum.repos.d/dvd.repo:/mnt/dvd.repo:ro busybox

可以看到/data1可以建立文件,/data2只有r权限,/mnt没有x权限
bind mount默认权限是读写,可以在挂载是指定只读ro
docker run -d --name demo nginx
docker inspect demo

此时curl 172.17.0.2可以看到发布目录

docker volume create webdata
docker rm -f demo
docker run -d --name demo -v /data1:/usr/share/nginx/html nginx
docker inspect demo

echo www.westos.org > index.html
curl 172.17.0.2

docker volume create webdata
docker rm -f demo
docker run -d --name demo -v webdata:/usr/share/nginx/html nginx
docker inspect demo

cd /var/lib/docker/volumes/webdata/_data/

可以看到index.html文件被拷贝过来
cd
docker rm -f demo
docker run -d --name demo -v webdata:/usr/share/nginx/html:ro nginx
此时curl看到的是nginx的默认发布目录

docker exec -it demo bash

可以看到文件被拷贝到了/usr/share/nginx/html/,而且这个目录权限为只读

跨节点数据同步
在server1中
yum install -y nfs-utils
vim /etc/exports

systemctl enable --now nfs
mkdir /nfsdata
chmod 777 /nfsdata/
在server2中
yum install -y nfs-utils
mkdir /nfsdata
mount 172.25.254.1:/nfsdata/ /nfsdata/
建立完成
测试:
在server2的/nfsdata/目录下建立file1文件

此时在server1的/nfsdata/目录下也可以看到file1文件

在server2上下载convoy.tar.gz
tar zxf convoy.tar.gz
cd convoy/
mv convoy* /usr/local/bin
mkdir -p /etc/docker/plugins
cd /etc/docker/plugins/
convoy daemon --drivers vfs --driver-opts vfs.path=/nfsdata &
convoy list

echo “unix:///var/run/convoy/convoy.sock” > /etc/docker/plugins/convoy.spec
在server1中下载convoy.tar.gz
tar zxf convoy.tar.gz
cd convoy/
mv convoy* /usr/local/bin
mkdir -p /etc/docker/plugins
cd /etc/docker/plugins/
convoy daemon --drivers vfs --driver-opts vfs.path=/nfsdata &
echo “unix:///var/run/convoy/convoy.sock” > /etc/docker/plugins/convoy.spec
convoy create vol1

convoy list

此时在server2中也可以list出

cd
将之前的demo删除
docker run -d --name demo -v vol1:/usr/share/nginx/html --volume-driver convoy nginx

此时在/nfsdata/vol1/可以看到容器内的文件被拷贝出来

修改index.html文件


在server1中
docker run -d --name demo -v vol1:/usr/share/nginx/html --volume-driver convoy nginx

此时也可以通过curl访问到172.17.0.2的发布目录

1921

被折叠的 条评论
为什么被折叠?



