docker容器掛載host宿主機的本地目錄,docker容器與宿主機之間互相拷貝文件


docker容器掛載host宿主機的本地目錄,docker容器與宿主機之間互相拷貝文件

 

 

參考於:

https://blog.csdn.net/weixin_37773766/article/details/80702926

 

------------------------------------------------------

 

1. 創建容器時指定將主機目錄掛載到容器中:

 

docker run -it -v /home/devilmaycry/:/devilmaycry  --name devil_pytorch e30c140136d1  /bin/bash

其中,    

-v /home/devilmaycry/:/devilmaycry   是將主機目錄/home/devilmaycry/  掛載到容器中的 /devilmaycry 路徑下。
--name devil_pytorch                 是將所創建的容器命名為  devil_pytorch
 e30c140136d1                        這里是創建容器所依據的鏡像, 是鏡像的Id 



 

 

 

 

 

 

 

所創建的容器中  /devilmaycry 路徑下文件:

 

 

 

 

 

 

宿主機 host  的   /home/devilmaycry  路徑下的文件:

 

 

 

 

可以看到文件的掛載成功。

 

 

---------------------------------------------------------------------

 

 

 

2.  數據卷 方式

該方式的大致意思就是:創建一個容器時使用其他已有容器的掛載信息。這里的數據卷容器我們假設名為  devil_pytorch,創建方式為上述的方式1,devil_pytorch容器在創建時已經將主機 /home/devilmaycry 文件掛載到了容器的 /devilmaycry 路徑下,   這時我們創建容器  devil_pytorch_2  , 創建方式具體如下:

 

 

docker run -it --volumes-from devil_pytorch --name devil_pytorch_2 e30c140136d1  /bin/bash

 

 

 

 

--name devil_pytorch_2                 是將所創建的容器命名為  devil_pytorch_2

 

 e30c140136d1                          這里是創建容器所依據的鏡像, 是鏡像的Id 

 

 

這里需要區分的參數為:

 

--volumes-from devil_pytorch            

為新創建的容器指定數據卷。意思就是說新創建的容器其文件掛載的映射關系與已創建容器devil_pytorch相同,
這里就是同樣將主機 /home/devilmaycry 文件掛載到新創建容器的 /devilmaycry 路徑下。








可以看到新創建容器的 /devilmaycry下文件與主機的 /home/devilmaycry 下相同:

 

 







-----------------------------------------------

 

 

 docker容器與宿主機之間互相拷貝文件

 

使用 docker cp  命令,   該命令的使用方式與 標准的linux命令  cp  大致相同。

 

 

 

 將docker中文件拷貝到主機中:

 

docker cp <containerId>:/container_file_path       /host_file_path  

 

 

 

 

docker cp 977586e250be:/examples   /tmp/

 

977586e250be 為容器Id,
/examples    為容器內文件路徑,
 /tmp/       為拷貝到的主機文件路徑。

 

 

 

 

 

 

 

拷貝到的主機文件路徑下,其中文件有:

 

 

 

容器中的文件路徑下,其中文件有:

 

 

 

 

拷貝成功。

 

 

----------------------------------------------

 

 

 

 

將主機中文件拷貝到docker容器中:

與上面的類似,為:

docker cp      /host_file_path     <containerId>:/container_file_path  

將主機文件   copy   到  容器中。   

 

 

 

-----------------------------------------------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM