1.docker中的資料卷
2.bind mount
bind mount 預設許可權是讀寫rw,可以在掛載時指定唯讀ro
-v選項指定的路徑,如果不存在,掛載時會自動建立。
bind mount必須指定host檔案系統路徑,限制了移植性
docker managed volume 不需要指定mount源
執行docker inspect vm2 可以看到
[root@server1 ~]# docker run -it --name vm2 -v vol2:/data ubuntu
root@89dc1213ae92:/# cd /data/
root@89dc1213ae92:/data# ls
root@89dc1213ae92:/data# touch files
root@89dc1213ae92:/data# ls
files
root@89dc1213ae92:/data# exit
exit
[root@server1 ~]# docker rm vm2
vm2[root@server1 ~]# docker run -it --name vm2 -v vol2:/data ubuntu
root@69619c58daa6:/# cd /data/
root@69619c58daa6:/data# ls
files
root@69619c58daa6:/data# rm -f files
root@69619c58daa6:/data# exit
exit
1.在所有節點提前掛載nfs儲存
server1
yum install -y nfs-utils
[root@server1 ~]# mkdir /mnt/nfs
[root@server1 ~]# vim /etc/exports
[root@server1 ~]# systemctl start rpcbind
[root@server1 ~]# systemctl start nfs-serve
server2
[root@server2 ~]# mkdir /mnt/nfs
[root@server2 ~]# systemctl start rpcbind
[root@server2 ~]#
[root@server2 ~]# showmount -e 172.25.61.1
export list for 172.25.61.1:
/mnt/nfs *
[root@server2 ~]# mount 172.25.61.1:/mnt/nfs/ /mnt/nfs
2.convoy卷外掛程式安裝tar zxf convoy.tar.gz
cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/
mkdir -p /etc/docker/plugins/
echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec
convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs &
3.建立卷convoy create vol1
自動生成資料目錄:/mnt/nfs/vol1/
[root@server1 plugins]# cd /mnt/nfs/
[root@server1 nfs]# ls
config
[root@server2 plugins]# cd /mnt/nfs/
[root@server2 nfs]# ls
config vol1
4.使用卷
docker run -it --name vm1 -v vol1:/data --volume-driver=convoy ubuntu
可以在兩個主機上同時執行容器,會發現資料目錄中的資料是同步的
[root@server2 volumes]# docker run -it --name vm1 -v vol1:/data --volume-driver=convoy ubuntu
[root@server1 nfs]# docker run -it --name vm3 -v vol1:/data --volume-driver=convoy ubuntu
server 1上建立檔案
server 2 上同步
Docker 資料卷管理
資料卷介紹 宿主機無法直接訪問容器中的檔案 容器中的檔案沒有持久化,導致容器刪除後,檔案資料也隨之消失 容器之間無法直接訪問相互的檔案 為解決這些問題,docker加入了資料卷 volumes 機制,能很好解決上面問題,以實現 容器與主機之間,容器與容器之間共享檔案 容器中的資料持久化 將容器中的資...
Docker 資料卷管理
建立資料卷 管理資料卷許可權 1.docker run v hostdir guestdir privileges2.卷共享應用,配置,資料等 掛載宿主機檔案 使用資料卷容器共享資料 1.建立資料卷容器 docker create v shiyanloudata name shiyanloudb u...
docker 資料卷 基礎篇
使用者在使用 docker 的過程中,往往需要能檢視容器內應用產生的資料,或者需要把容器內的資料進行備份,甚至多個容器之間進行資料的共享,這必然涉及容器的資料管理操作。容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷是乙...