gpt4 book ai didi

docker - 可以从不是容器的Docker镜像检索文件吗?

转载 作者:行者123 更新时间:2023-12-02 21:19:15 25 4
gpt4 key购买 nike

我创建了一个使用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

最佳答案

图片名称!=容器名称
myapp是图像的名称,它不是正在运行的容器。

使用docker run时,将创建一个基于myapp图像的容器。将为其分配一个ID,您可以使用docker ps看到它。例:

$ 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,但是您也可以使用此名称来引用它。

关于docker - 可以从不是容器的Docker镜像检索文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47745863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com