簡體   English   中英

如何將文件從本地機器復制到windows上的docker容器

[英]How to copy files from local machine to docker container on windows

我必須將數據文件從用戶本地文件 C:/users/saad/bdd 導入到 docker 容器 (cassandra),我沒有找到如何繼續使用 docker 命令。 我正在研究 windows 7。

使用docker cp

docker cp c:\path\to\local\file container_name:/path/to/target/dir/

如果您不知道容器的名稱是什么,可以使用以下方法找到它:

docker ps --format "{{.Names}}"

使用 docker 工具箱時,似乎還有另一個與絕對路徑相關的問題。

我正在使用“Docker Quickstart Teminal”與容器進行通信,它本質上是一個 MINGW64 環境。

如果我嘗試將具有絕對路徑的文件復制到容器,我會收到錯誤消息。

$ docker cp /d/Temp/my-super-file.txt container-name:/tmp/
copying between containers is not supported

如果我使用相對路徑,它就可以正常工作。

$ cd /d/
$ docker cp Temp/my-super-file.txt container-name:/tmp/

PS:由於缺少評論的聲譽,我將此作為答案發布。

使用 docker 工具箱時並不那么簡單。 因為 docker 工具箱只能訪問C:\\Users\\文件夾,並且中間有一個 Oracle Virtual Box Manager,所以當您復制文件夾時,它不會直接復制到容器,而是復制到 Oracle VM 安裝的卷句柄機。 像這樣:

/mnt/sda1/var/lib/docker/volumes/19b65e5d9f607607441818d3923e5133c9a96cc91206be1239059400fa317611/_data

我如何解決這個問題只是編輯我的DockerFile

FROM cassandra:latest

ADD cassandra.yml /etc/cassandra/
ADD import.csv /var/lib/cassandra/
EXPOSE 9042

並建造它。

使用此命令將有助於將文件從主機復制到 docker 容器。

docker cp c:\abc.doc <containerid> :C:\inetpub\wwwroot\abc.doc

如果您在 Windows 上使用 docker-toolbox,請使用以下語法

docker cp /C/Users/Saad/bdd-restaurants cassandra:/var/lib/docker/containers

如果您嘗試將文件從 Windows 復制到 EC2 實例,請在 cmd 中使用以下內容(啟用 Putty):

pscp -i "D:\path_to_ppk_key" c:\file_name ubuntu@**.***.**.*:/home/ubuntu/file 

然后您可以使用復制到 EC2 中的 docker

docker cp /home/ubuntu/file_name Docker_name:/home/ 

對於那些使用 WSL(Linux 的 Windows 子系統)、Docker 和來自 VSCode(Visual Studio Code)的 DevContainers 的人,我能夠通過使用 WSL 命令行來完成這項工作。

docker cp "/mnt/<drive letter>/source/My First Copy Command"  <container id>:/workspace/destination/path

我也寫得更詳細了

您還可以在運行時使用 volume 將文件掛載到容器:

docker run -v /users/saad/bdd:/myfiles/tmp/

簡單的方法:

DockerContainer 到 LocalMachine

$docker cp containerId:/sourceFilePath/someFile.txt C:/localMachineDestinationFolder

本地機器到 DockerContainer

$docker cp C:/localMachineSourceFolder/someFile.txt containerId:/containerDestinationFolder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM