docker資料卷容器
阿新 • • 發佈:2021-06-21
多個MySQL同步資料
啟動3個centos容器
建立並啟動第一個centos容器docker01
[root@iZmu0fa4hv0jwzZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/centos 1.0 11bfc295e9b3 4 hours ago 209MB tomcat02 1.0 c93f6d59c630 19 hours ago 672MB tomcat 9.0 5505f7218e4d 4days ago 667MB nginx latest d1a364dc548d 3 weeks ago 133MB mysql 5.7 2c9028880e58 5 weeks ago 447MB centos latest 300e315adb2f 6 months ago 209MB [root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker01 test/centos:1.0
Ctrl + P + Q退出當前容器
建立並啟動第二個centos容器docker02並將docker02與docker01掛載
[root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker02 --volumes-from docker01 test/centos:1.0 [root@ef9fcf1bba1e /]#
開啟第二個Xshell會話,進入容器一併在volume01目錄下建立一個docker01檔案
[root@iZmu0fa4hv0jwzZ ~]# docker attach fff99b389819 [root@fff99b389819 /]# cd volume01 [root@fff99b389819 volume01]# ls [root@fff99b389819 volume01]# touch docker01 [root@fff99b389819 volume01]#
在容器二的volume01目錄下檢視
[root@ef9fcf1bba1e /]# cd volume01
[root@ef9fcf1bba1e volume01]# ls
docker01
[root@ef9fcf1bba1e volume01]#
可以發現容器一建立的docker01檔案,說明docker01建立的檔案同步到了docker02
建立並啟動第三個容器docker03並將docker03與docker01掛載
進入volume01目錄
[root@iZmu0fa4hv0jwzZ ~]# docker run -it --name docker03 --volumes-from docker01 test/centos:1.0 [root@174903c30beb /]# cd volume01 [root@174903c30beb volume01]# ls docker01
可以看見volume01目錄下依然有docker01檔案
在docker03的volume01目錄下建立docker03檔案
[root@174903c30beb volume01]# touch docker03
[root@174903c30beb volume01]# ls
docker01 docker03
進入docker01的volume01目錄下檢視
[root@fff99b389819 volume01]# ls
docker01 docker03
發現存在docker03檔案
說明實現了容器間的資料共享
退出並刪除docker01
[root@fff99b389819 volume01]# exit [root@iZmu0fa4hv0jwzZ ~]# docker rm -f fff99b389819 fff99b389819
在docker03容器中檢視volume01檔案
[root@174903c30beb volume01]# ls
docker01 docker03
發現docker01檔案依然存在
結論
容器之間配置資訊的傳遞,資料卷容器的生命週期一直持續到沒有容器使用為止
但是一旦你持久化到了本地,這個時候,本地的資料是不會刪除的