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

sudo docker cp e06c3dbbfe23:/usr/local/apache2/conf conf

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

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

[email protected] $ sudo docker exce -it http:2.2 /bin/bash

#执行后会进入docker

[email protected]:/usr/local/apache2# pwd

/usr/local/apache2

[email protected]:/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