当前位置: 首页 > 知识库问答 >
问题:

复制docker容器进行调试

郎思远
2023-03-14

因此,我想用运行容器中的所有可用内容创建一个它的副本[就像我不想从image构建一个容器,重复运行容器中实现的所有重要步骤,然后开始调试一样。我不想在第二个容器中重新安装ping]。

完全如此,我如何复制一个容器?如果不是,所有的可能性是什么?

共有1个答案

葛修筠
2023-03-14

>

  • 创建基映像并运行它

    docker run -it <base_image> /bin/bash
    

    作出必要的改变

    yum install ping
    

    用新名称提交

    docker commit <hash tag of running container> new_image
    
    docker run -it new_image /bin/bash
    

  •  类似资料:
    • 问题内容: 我有一个正在运行的Docker容器。我已经在运行的Docker容器中做了一些有用的工作。我已经完成了这些工作,而不是dockerfile的一部分,我已经在容器内完成了它。[例如:我已经在容器内安装了ping,而不是从docker文件中安装了ping] 现在,我被困在一个地方。我不确定是否要在同一个容器中进行调试,否则可能会使到目前为止在容器中所做的事情松懈。 因此,我想使用该运行容器中

    • 问题内容: 我对docker,redis和任何类型的网络都是陌生的(至少我了解python!)。首先,我想出了如何获取redis docker映像并在docker容器中运行它: 据我了解,此Redis实例具有可用于连接其他容器的端口6379。 如果运行以下命令,则可以与redis实例进行交互并生成key:value对: 我已经弄清楚如何制作并运行安装了redis库的docker容器,该容器将运行p

    • 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了实现这一点,我需要将在容器中构建的构建构件复制回主机中。有可能吗?

    • 我正在开发基于多个容器的node JS/Express的微服务。部署了不同docker组件的不同容器组。一个docker compose包含4个docker容器,而另一个docker compose包含3个docker容器。Docker compose为每个Docker compose创建了自动网络,例如BackendA_default和BackendB_default,因此每个后端都不能相互通信

    • 我有一个正在运行的MySQL容器,我在里面导入了很多数据(花了我几个小时)。 现在,我想在主机上使用GUI应用程序(DBeaver)从这个容器中查询数据。有没有一种方法可以将正在运行的容器的网络公开给主机,以便连接到它? 我一直在四处寻找,到目前为止最有希望的选择是运行一个带有标签的新容器,但是当我这样做的时候,所有导入的数据都不见了。 谢谢你!

    • 抱歉,如果这是一个愚蠢的问题,但是: 我来自vagrant公司,在那里我们的每台机器中都有一个功能齐全的OS,在那里运行我们可以看到OS进程和我们的服务(我在一定程度上知道在VMs和Docker中运行的应用程序之间的区别)。 然后,我刚刚使用docker-compose构建了一些容器,并使用bash(基于debian:jessie映像)登录到一个容器中。运行后,我只能看到我安装的服务,而不能看到单