目錄
- Docker:容器文件拷貝
- Docker:容器目錄掛載
- 總結(jié)
Docker:容器文件拷貝
目標:掌握文件拷貝命令
將linux宿主機中的文件拷貝到容器內(nèi)可以使用命令:
# docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄 # 創(chuàng)建一個文件abc.txt touch abc.txt # 復制 abc.txt 到 mycentos2 的容器的 / 目錄下 docker cp abc.txt mycentos2:/ # 進入mycentos2容器 docker exec -it mycentos2 /bin/bash # 查看容器 / 目錄下文件 ll
將文件從容器內(nèi)拷貝出來到linux宿主機使用命令:
# docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄 # 進入容器后創(chuàng)建文件aaa.txt touch aaa.txt # 退出容器 exit # 在Linux宿主機器執(zhí)行復制;將容器mycentos2的/aaa.txt文件復制到 宿主機器的/root目錄下 docker cp mycentos2:/aaa.txt /root
注意:停止狀態(tài)的容器也是可以進行文件拷貝的,可以拷進去,也可以拷出來。
Docker:容器目錄掛載
目標:掌握目錄掛載命令(其實就是目錄映射)
- 可以在創(chuàng)建容器的時候,將宿主機的目錄與容器內(nèi)的目錄進行映射,這樣我們就可以通過修改宿主機某個目錄的文件從而去影響容器。
- 創(chuàng)建容器時添加-v參數(shù),后邊為宿主機目錄:容器目錄
- 例如: docker run -di -v /usr/local/test:/usr/local/test –name=mycentos3 centos:7(兩個目錄可以路徑不同)
# 創(chuàng)建linux宿主機器要掛載的目錄 mkdir /usr/local/test # 創(chuàng)建并啟動容器mycentos3 # 并掛載 linux中的/usr/local/test目錄到容器的/usr/local/test # 也就是在 linux中的/usr/local/test中操作相當于對容器相應目錄操作 docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3 centos:7 # 在linux宿主機下創(chuàng)建文件 touch /usr/local/test/bbb.txt # 進入容器 docker exec -it mycentos3 /bin/bash # 在容器中查看目錄中是否有對應文件bbb.txt cd /usr/local/test ll
注意:如果你共享的是多級的目錄,可能會出現(xiàn)權(quán)限不足的提示。
這是因為CentOS7中的安全模塊selinux把權(quán)限禁掉了,需要添加參數(shù) –privileged=true 來解決掛載的目錄沒有權(quán)限的問題。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持。