docker之旅 8.docker的拷貝操作,從docker拷貝文件到宿主機,從宿主機拷貝文件到docker

從宿主機拷貝文件到 docker容器

Docker 的 cp 命令用於在 Docker 主機和容器之間複製文件或目錄。你可以使用這個命令將文件從容器複製到主機,或者將文件從主機複製到容器。

爲了從本機(Docker 主機)的 /home/henry/workspace/openPort.sh 文件拷貝到容器 b8f3107e7f5c 的 /home/henry_mysql_docker_path 目錄下面,你可以使用以下命令:

 
docker cp /home/henry/workspace/openPort.sh b8f3107e7f5c:/home/henry_mysql_docker_path/

這條命令的含義如下:

  • docker cp:表示執行 Docker 的文件複製命令。
  • /home/henry/workspace/openPort.sh:這是源文件的完整路徑,它位於 Docker 主機的文件系統中。
  • b8f3107e7f5c:這是目標容器的 ID 或名稱。
  • :/home/henry_mysql_docker_path/:這是目標路徑,以冒號 : 分隔,前面爲空表示主機上的當前目錄(在這個例子中我們實際上指定了完整路徑,所以冒號前的部分被忽略了),後面是容器內的目標目錄。

請注意以下幾點:

  1. 確保容器 b8f3107e7f5c 正在運行。如果容器未運行,則無法將文件複製到容器內。
  2. 確保你有足夠的權限來讀取主機上的 /home/henry/workspace/openPort.sh 文件。
  3. 確保在容器內 /home/henry_mysql_docker_path/ 目錄存在,或者 Docker 有足夠的權限在容器內創建這個目錄。如果目錄不存在且 Docker 沒有權限創建它,那麼複製操作將會失敗。
  4. 如果目標路徑在容器內已經是一個文件而不是目錄,那麼複製操作將會失敗,除非你使用不同的目標文件名來避免衝突。

從 docker 拷貝文件到宿主機

我想把docker b8f3107e7f5c 下面的 /home/henry_mysql_docker_path/openPort.sh 文件拷貝到 宿主機的 /home/henry/workspace 目錄,並且命名爲 openPort3.sh.給出詳細的docker命令,並解釋命令

爲了從 Docker 容器 b8f3107e7f5c 的 /home/henry_mysql_docker_path/openPort.sh 拷貝文件到宿主機的 /home/henry/workspace 目錄,並將文件重命名爲 openPort3.sh,你可以使用以下 docker cp 命令:

docker cp b8f3107e7f5c:/home/henry_mysql_docker_path/openPort.sh /home/henry/workspace/openPort3.sh

 

詳細解釋如下:

  • docker cp:這是 Docker 的複製命令,用於在 Docker 容器和宿主機之間複製文件或目錄。

  • b8f3107e7f5c:/home/henry_mysql_docker_path/openPort.sh

    • b8f3107e7f5c 是容器的 ID 或名稱。
    • /home/henry_mysql_docker_path/openPort.sh 指定了容器內要複製的文件路徑。
  • /home/henry/workspace/openPort3.sh

    • /home/henry/workspace/ 是宿主機上的目標目錄。
    • openPort3.sh 是你希望在宿主機上命名的新文件名。

請注意,這個命令會將容器內的 openPort.sh 文件複製到宿主機的 /home/henry/workspace 目錄下,並將其重命名爲 openPort3.sh。如果 /home/henry/workspace 目錄不存在,Docker 不會爲你創建這個目錄,命令會失敗。因此,請確保該目錄在執行命令前已經存在。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章