首頁 > 運維 > Docker > 怎麼把宿主機的文件拷貝到docker中

怎麼把宿主機的文件拷貝到docker中

PHPz
發布: 2023-04-18 17:12:56
原創
5844 人瀏覽過

如今,在軟體開發中使用 Docker 已經成為主流,因為它可以快速建置、部署和管理應用程式。 Docker 因其可移植性和輕量級的特點,被廣泛地用於建立和運行容器。但是,許多人在處理 Docker 中的檔案時可能會遇到一些問題。這篇文章將教你如何輕鬆地將宿主機上的檔案複製到 Docker 中。

在 Docker 中拷貝檔案的方法

要將檔案從宿主機複製到 Docker 中,我們可以使用 Docker 自帶的命令:docker cp。這個指令可以將一個檔案或目錄從宿主機複製到正在執行的 Docker 容器中,或從正在執行的 Docker 容器複製檔案到宿主機。

語法如下:

docker cp <src_path> <container_id>:<dest_path>
登入後複製

這個指令非常簡單,其中:

  • #<src_path>:要複製的檔案或資料夾的路徑
  • <container_id>:Docker 容器的ID
  • <dest_path>:要複製到的Docker 容器中的目標路徑

例如,如果你想要將目前目錄下的myfile.txt 檔案複製到名為mycontainer 的Docker 容器的/app 目錄中,你可以如下操作:

docker cp myfile.txt mycontainer:/app
登入後複製

這個指令將myfile.txt 檔案複製到名為mycontainer 的Docker 容器的 /app 目錄中。

要將Docker 容器中的檔案複製回宿主機,我們可以使用類似的指令:

docker cp <container_id>:<src_path> <dest_path>
登入後複製

其中:

  • ##<container_id> :Docker 容器的ID
  • :要複製的檔案或資料夾的路徑
  • <dest_path> :要複製到的宿主機中的目標路徑
例如,如果你想要將名為

mycontainer 的Docker 容器中的/app/myfile.txt 檔案複製到宿主機的~/Downloads 目錄中,你可以如下操作:

docker cp mycontainer:/app/myfile.txt ~/Downloads
登入後複製
這個指令將

mycontainer 容器中的 /app/myfile.txt 檔案複製到宿主機器中的~/Downloads 目錄中。

如何在 Dockerfile 中拷貝檔案

上面的方法需要在啟動 Docker 容器後手動執行命令,但如果你想在建立 Docker 映像時自動將檔案複製到容器中怎麼辦?不用擔心,我們可以使用 Dockerfile 中的

COPY 命令來實現這一點。

COPY 指令語法如下:

COPY <src_path> <dest_path>
登入後複製
其中:

  • :要複製的文件或資料夾的路徑
  • <dest_path>:要複製到的Docker 容器中的目標路徑
例如,下面是一個基於官方Python 映像的Dockerfile,它將目前目錄下的

requirements.txt 檔案複製到容器中的/app 目錄中:

FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
CMD [ "python", "./app.py" ]
登入後複製
在這個Dockerfile 中,

COPY requirements.txt /app 指令將requirements.txt 檔案複製到Docker 容器中的/app 目錄中。 RUN 指令使用這個檔案安裝必要的依賴項。最後一個 COPY 指令將整個應用程式複製到容器中。

總結

在這篇文章中,我們學習如何在 Docker 中拷貝檔案。使用

docker cp 指令,我們可以將檔案從宿主機複製到正在執行的 Docker 容器或從容器複製檔案到宿主機。此外,在 Dockerfile 中,我們可以使用 COPY 指令實作從宿主機到容器的自動複製。

希望這篇文章對你有幫助,讓你更好地管理和使用 Docker 容器。

以上是怎麼把宿主機的文件拷貝到docker中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板