從 Docker 容器複製檔案到本地機器


如果您正在進行一個需要頻繁複制檔案和資料夾的專案,無論是從容器到本地機器還是從本地機器到容器,Docker 提供了一種簡單易行的方法。如果您已經構建了一個大型的 Docker 映象,其中包含大量檔案,並且在專案過程中需要複製進出容器的檔案,那麼將檔案放入 Docker 構建上下文並重復構建映象效率極低。相反,Docker 允許輕鬆地將檔案複製進出容器。

在本文中,我們將學習允許我們執行此操作的命令。我們將查詢從本地機器到容器以及反向複製檔案的命令。

將檔案從容器複製到本地機器。

如果您想將檔案從容器複製到本地機器,可以使用以下命令。

sudo docker cp <Container ID>:<Path of file inside the container> <Path in the local machine>

例如:

如果您有一個 ID 為 f4628571q5gc 的 ubuntu 容器,並且您想將容器中路徑 /usr/src/app/file.txt 中的檔案複製到本地機器的 /home/username/Desktop/folder 中,可以使用以下命令:

sudo docker cp f4628571q5gc:/usr/src/app/file.txt home/username/Desktop/folder/

如果您想將檔案貼上到本地機器的當前目錄,您可以簡單地使用:

sudo docker cp f4628571q5gc:/usr/src/app/file.txt . (Don’t forget the dot)

如果您想將容器中特定資料夾中的所有檔案複製到本地機器中的資料夾,請使用以下命令:

sudo docker cp f4628571q5gc:/usr/src/app/ home/username/Desktop/folder/

將檔案從本地機器複製到容器

如果您想將檔案從本地機器複製到容器,可以使用以下命令。

sudo docker cp <Path in the local machine> <Container ID>:<Path of file inside the container>

例如:

如果您有一個 ID 為 f4628571q5gc 的 ubuntu 容器,並且您想將本地機器中路徑 /home/username/Desktop/folder/file.txt 中的檔案複製到容器中的 /usr/src/app/ 中,可以使用以下命令:

sudo docker cp /home/username/Desktop/folder/file.txt f4628571q5gc:/usr/src/app/

如果您想將本地機器中資料夾中的所有檔案複製到容器中的資料夾,請使用以下命令:

sudo docker cp /home/username/Desktop/folder f4628571q5gc:/usr/src/app/

總而言之,在您已經使用構建上下文構建了映象之後,如果想要複製進出容器的檔案和資料夾,您可以使用上面提到的命令輕鬆完成。

更新於:2020年10月1日

3K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告