我必须将数据文件从用户本地文件C:/ users / saad / bdd导入到docker容器(cassandra),我没有找到如何继续使用docker命令。 我正在开发Windows 7。
非常感谢你的帮助
答案 0 :(得分:27)
使用docker cp
。
docker cp c:\path\to\local\file container_name:/path/to/target/dir/
如果您不知道容器的名称是什么,可以使用以下方式找到它:
docker ps --format "{{.Names}}"
答案 1 :(得分:2)
如果您在Windows上使用docker-toolbox,请使用以下语法
docker cp / C / Users / Saad / bdd-restaurants cassandra:/ var / lib / docker / containers
答案 2 :(得分:2)
使用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
建立它。
答案 3 :(得分:1)
使用docker工具箱时,似乎还有另一个与绝对路径有关的问题。
我正在使用本质上是MINGW64环境的“ Docker Quickstart Teminal”与容器进行通信。
如果我尝试将具有绝对路径的文件复制到容器,则会收到错误消息。
$ 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/
P.S .:由于缺少评论信誉,我将其发布为答案。
答案 4 :(得分:1)
如果您尝试将文件从Windows复制到EC2实例,请在cmd中使用以下命令(启用了腻子功能):
pscp -i "D:\path_to_ppk_key" c:\file_name ubuntu@**.***.**.*:/home/ubuntu/file
然后您可以使用
复制到EC2中的dockerdocker cp /home/ubuntu/file_name Docker_name:/home/
答案 5 :(得分:0)
您还可以在运行时使用volume将文件装载到容器中
docker run -v / users / saad / bdd:/ myfiles / tmp /
答案 6 :(得分:-1)
在这里输入答案
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94ef16fa1d18 tensorflow/tensorflow "/run_jupyter.sh --a…" 2 days ago Up 2 days 6006/tcp, 0.0.0.0:8888->8888/tcp adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps --format "{{.Names}}"
adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker cp ~/Documents/dead-exorcist/satan_ml/satan_ml.tar.gz adoring_engelbart:/notebooks
belzebub-system:~/Documents/dead-exorcist/satan_ml$
答案 7 :(得分:-1)
使用此命令将有助于将文件从主机复制到Docker容器。
docker cp c:\abc.doc <containerid> :C:\inetpub\wwwroot\abc.doc