我有一个正在运行的Docker容器。我已经在运行的Docker容器中做了一些有用的工作。我已经完成了这些工作,而不是dockerfile的一部分,我已经在容器内完成了它。[例如:我已经在容器内安装了ping,而不是从docker文件中安装了ping]
现在,我被困在一个地方。我不确定是否要在同一个容器中进行调试,否则可能会使到目前为止在容器中所做的事情松懈。
因此,我想使用该运行容器中的所有可用东西创建它的副本[例如,我不想从映像中构建一个容器,并重复在运行容器中实现的所有成功步骤,然后开始调试。我不想在第二个容器中重新安装ping]。
总计,我如何复制容器?如果不是,所有的可能性是什么?
创建一个基本映像并运行它
docker run -it <base_image> /bin/bash
进行必要的更改
yum install ping
用新名称提交
docker commit <hash tag of running container> new_image
现在,如果您通过运行打开new_image
docker run -it new_image /bin/bash
您可以看到其中ping已安装。
ping
打开base_image,并且没有ping安装。
希望它回答了您的问题。