1. 程式人生 > >Docker Swarm bind 資料持久化

Docker Swarm bind 資料持久化

Docker Swarm bind 資料持久化

  • bind:主要將工作節點宿主級檔案或目錄,同步掛載到容器中。

環境:

  • 系統:Centos 7.4 x64
  • 應用版本:Docker 18.09.0
  • 管理節點:192.168.1.79
  • 工作節點:192.168.1.78
  • 工作節點:192.168.1.77

一、兩種宿主級掛載方式

管理節點:讀寫掛載

docker service create \
--mount type=bind,src=<HOST-PATH>,dst=<CONTAINER-PATH> \
--name myservice \
<IMAGE>

管理節點:只讀掛載

docker service create \
--mount type=bind,src=<HOST-PATH>,dst=<CONTAINER-PATH>,readonly \
--name myservice \
<IMAGE>

二、建立bind 資料持久化

1、管理節點:建立服務並新增bind讀寫掛載

docker service create \
--mount type=bind,src=/etc,dst=/data \
--name test01 \
busybox ping www.baidu.com
# 建立服務
docker service create \
# 建立資料卷 type=bind,src=宿主目錄,dst=容器目錄
--mount type=bind,src=/etc,dst=/data \
# 服務名
--name test01 \
# 映象
busybox
# 容器內執行指令
ping www.baidu.com
命令解析
docker service inspect test02
 "Mounts": [
                        {
                            
"Type": "bind", "Source": "/etc", "Target": "/data" } ]
檢視服務詳細資訊,擷取掛載節點詳細資訊

2、工作節點:進入容器測試掛載目錄

# 進入容器
docker exec -it e4d7e2d88cab sh
# 測試目錄與/etc一致
/ # cd /data
/data # ls
....