需要从docker镜像里面复制配置文件,查了一下文档,就操作了,如结果出了以下错误

sudo docker cp e06c3dbbfe23:/usr/local/apache2/conf conf
Error: No such container:path: e06c3dbbfe23:/usr/local/apache2/conf

搞来搞去,搞不清楚~结果想了一下,试运行了一下镜像,通过镜像的local名称去拿却行了,命令如下

 

aa@hdkdi $ sudo docker exce -it http:2.2 /bin/bash

#执行后会进入docker
root@03f8d8f1a883:/usr/local/apache2# pwd
/usr/local/apache2
root@03f8d8f1a883:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs    modules

#新开一个terminal后执行以下命令,正常了!
sudo docker cp 03f8d8f1a883:/usr/local/apache2/conf conf

想来想去,可算明白了,刚开始,我用的是image ID,这种情况下,是找不到容器的,docker的cp应该对应的是CONTAINER ID,也就是容器ID,而非镜像ID

最后,再补充两个获取容器id的方式

docker inspect -f '{{.ID}}' httpd:2.2

docker ps

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐