docker -v 覆盖了容器中的文件_浅谈docker中宿主机和容器之间互相copy文件的两种方式,欢迎补充...
在dokcer的日常使用過程中,我們可能會遇到將宿主機內文件/目錄copy到容器內,或者將容器的文件/目錄copy到宿主機中,下面我們就來簡單的談一下關于這種情況的兩種操作。
1、Docker cp命令:
用于容器與主機之間的數據copy
語法:
docker cp [OPTIONS] container:src_path dest_path
docker cp [OPTIONS] src_path container:dest_path
OPTIONS說明:
-L :保持源目標中的鏈接
測試:
以tomcat為例:
docker run -d -p 80:8080 hub.c.163.com/library/tomcat
進入容器
docker exec -it edf7 bash
測試:
1.1、將容器內文件copy到主機
以webapps文件夾為例
查看路徑
pwd:/usr/local/tomcat/webapps
在主機內執行如下命令
docker cp edf7eac1beb1:/usr/local/tomcat/webapps /tmp
查看tmp目錄
如下所示
1.2、將主機內文件copy到容器
在odysee家目錄創建一個localFile文件
將localFile copy到/usr/local/tomcat/
docker cp localFile edf7eac1beb1:/usr/local/tomcat/
切換到容器內查看
如下圖所示
2、 -v掛載主機數據卷到容器
可以直接掛載宿主機文件或目錄到容器里,可以理解為目錄映射。這樣就可以讓所有的容器共享宿主機數據,從而只需要改變宿主機的數據源就能夠影響到所有的容器數據。
映射關系:
宿主機文件/目錄:容器里對應的文件/目錄
注意:
宿主機上的文件/目錄是要提前創建
容器里對應的文件/目錄會自動創建
2.1、創建掛載目錄
在odysee家目錄下創建一個vol目錄
在目錄里創建一個文件volFile并輸入一句話
2.2、啟動容器
這里的image以centos為例
docker run -i -t --name vol
-v /home/odysee/vol:/etc/vol
centos /bin/bash
查看容器內volFile文件
將volFile copy到容器/根下
將容器內的tmp/yum.log文件copy到etc/vol/文件下
在宿主機內查看
測試成功
歡迎大家給予寶貴的意見或者建議。
歡迎大家補充或者共享一些其他的方法。
感謝支持。
總結
以上是生活随笔為你收集整理的docker -v 覆盖了容器中的文件_浅谈docker中宿主机和容器之间互相copy文件的两种方式,欢迎补充...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word公式插件_如何快速输入复杂的数学
- 下一篇: php无法连接mysql_php无法连接