我创建了一个使用docker的应用程序。我已经建立了这样的图像:docker build -t myapp .
在我的图片中(使用docker run -it myapp /bin/bash
访问),会创建一个图片文件。
我想获取该文件以便在我的本地查看,因为我发现在Docker上查看图像是一个复杂的过程。
我尝试了以下内容:docker cp myapp:/result.png ./
基于网上看到的建议,但我收到以下错误:Error response from daemon: No such container: myapp
答案 0 :(得分:1)
您可以将本地文件夹映射到图像中的卷,然后将该文件从图像中复制出来。
finalSeq <- subset(seqRules, rhs(x) %ain% "\"id_58\"")
答案 1 :(得分:1)
myapp
是图片的名称,它不是正在运行的容器。
使用docker run
时,您正在创建一个基于myapp
图像的容器。系统会为其分配一个ID,您可以使用docker ps
查看该ID。例如:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa58c8ff2f34 portainer/portainer "/portainer" 4 months ago Up 5 days 0.0.0.0:9909->9000/tcp portainer_portainer_1
在这里,您可以看到基于portainer/portainer
图片的容器。它的ID为aa58c8ff2f34
。
获得容器的ID后,您可以将其传递给docker cp
以复制文件。
另一种方法,如果你自动化/编写脚本,可能更可取的方法是指定容器的名称而不必查找它。
docker run -it --name mycontainer myapp /bin/bash
这将创建一个名为mycontainer
的容器。然后,您可以将该名称提供给docker cp
或其他命令。请注意,您的容器仍然具有上述示例中的ID,但您也可以使用此名称来引用它。