Docker卷管理基礎

2021-09-24 00:15:06 字數 3801 閱讀 5100

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 資料卷是乙...