docker cp在正在运行的实例上抛出“ No such container:path”

时间:2020-10-30 17:56:03

标签: docker

尝试docker cp from here之后,它仍然会抛出Error: No such container:path:...

enter image description here

我在做什么错了?

  • 容器正在运行
  • 我可以运行docker exec命令
  • docker cp失败

1 个答案:

答案 0 :(得分:3)

从文档中:

docker cp命令假定容器路径相对于容器的/(根)目录。

来源:https://docs.docker.com/engine/reference/commandline/cp/#extended-description

这意味着,当您的docker exec [CONTAINER] lsWORKDIR影响时,您的docker cp不受此影响。

您应该从那里开始运行:

  1. docker exec [CONTAINER] pwd
  2. docker cp命令中使用这产生的结果,以在docker cp命令中使用完全限定的路径

例如来自 httpd 图片:

$ docker run -d --name httpd httpd

$ docker exec httpd pwd
/usr/local/apache2

$ docker exec httpd ls
bin
build
cgi-bin
conf
error
htdocs
icons
include
logs
modules

$ docker cp httpd:/usr/local/apache2/conf .

所有这些都是因为the httpd image defines a WORKDIR上的the folder /usr/local/apache2