想试着在网上找了好多方法传递文件到docker容器,发现在1.7的版本下有个bug
docker cp e0ce13a27784:/home/website/default /appuweichao/credit_passport/web/
Error: Path not specified
错误消息“错误:路径未指定”
在docker1.8.0中已修复。
解决方法1
从主机拷贝到容器的挂载目录
首先要获取容器的真实id docker inspect -f '{{.Id}}' centos6

复制需要拷贝的文件到 到 此路径
cp openvas-install.sh /var/lib/docker/devicemapper/mnt/eea01fc3c689833f5dd972327485783a9de0764dcb0b5b9f520e5572e777da66/rootfs/mnt
其中很长的数字字母串就是上边得到真实id
进入终端后 /mnt下面就能看到 文件存在了 如下图

这个ID文件夹其实就是该容器挂载在本地的一个共享文件夹
下图列出了所有的容器的文件夹

解决方法2
下载docker1.9.1替换
wget https://get.docker.com/builds/Linux/x86_64/docker-1.9.1
chmod +x docker-1.9.1
sudo mv docker-1.9.1 /usr/bin/docker
service docker restart
这样就OK了,看下版本,一切正常

此时再复制文件就没有问题了
本文介绍了解决Docker早期版本中文件传递bug的两种方法。一种是通过直接将文件复制到容器的挂载目录,另一种是升级Docker版本到1.9.1。文章详细解释了操作步骤,并附有具体命令。
1553





