Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何在windows上将文件从本地计算机复制到docker容器_File_Docker_Copy_Containers_Local - Fatal编程技术网

File 如何在windows上将文件从本地计算机复制到docker容器

File 如何在windows上将文件从本地计算机复制到docker容器,file,docker,copy,containers,local,File,Docker,Copy,Containers,Local,我必须将数据文件从用户本地文件C:/users/saad/bdd导入docker容器(cassandra),我找不到如何继续使用docker命令。 我正在使用Windows7 非常感谢您的帮助使用docker cp docker cp c:\path\to\local\file container_name:/path/to/target/dir/ 如果您不知道容器的名称,可以使用以下方法查找: docker ps --format "{{.Names}}" 如果在windows上使用doc

我必须将数据文件从用户本地文件C:/users/saad/bdd导入docker容器(cassandra),我找不到如何继续使用docker命令。 我正在使用Windows7


非常感谢您的帮助

使用
docker cp

docker cp c:\path\to\local\file container_name:/path/to/target/dir/
如果您不知道容器的名称,可以使用以下方法查找:

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

如果在windows上使用docker工具箱,请使用以下语法


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

使用docker工具箱时并不那么简单。由于docker toolbox只能访问
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
docker cp c:\abc.doc:c:\inetpub\wwwroot\abc.doc

使用docker工具箱时,似乎还有另一个与绝对路径相关的问题

我正在使用“Docker Quickstart终端”与容器通信,该终端本质上是一个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/

备注:我将此作为答案发布,因为缺少评论的声誉。

如果您试图将文件从windows复制到EC2实例,请在cmd中使用以下命令(启用Putty):

然后,您可以使用

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

您还可以在运行时使用卷将文件装载到容器:


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

可能重复感谢Alvaro的快速回答,但当我尝试以下代码:docker cp C:\users\saad\bdd cassandra:/var/lib/docker/containers时,我收到以下错误消息:不支持在容器之间复制,我如何知道容器的确切路径?请不要发布重复的答案,链接问题中已经有很多好的答案。好的,是的,但每次我尝试复制文件时,都会显示相同的消息“不支持复制容器”您知道这是什么意思吗?需要注意的一点是,如果您在windows 7上使用Docker for windows,并且您的容器是windows计算机,那么您需要首先停止容器以复制文件。如果运行的windows容器是Hyper V容器,则不支持复制文件。但是,如果在Windows Server docker主机上运行相同的命令,则可以正常工作。你的答案似乎和我的一样。你能解释一下为什么它不同吗?否则,如果不是不同的,请考虑额外的答案应该添加一些东西已经说过,否则它们是没有用的。非常感谢。似乎与之间不应该有空格:C:\inetpub\。。。
docker cp /home/ubuntu/file_name Docker_name:/home/