有一个容器,完成了很多工作(部分在dockerfile中,部分在容器内 - 从内部公然处理)并且它与dockerfile分离。有人知道docker存储从ENTYPOINT收集的信息吗?它可能是某个文件docker创建的,它是在docker start [container]
and docker run -it [container sum]
时启动的。需要编辑,真的不想从头开始。非常确定不需要,因为没有原始的dockerfile就可以在容器上工作。
有关docker网站的一般文档未对此提供任何见解
我被建议直接编辑/var/lib/docker/container/[container #]/config.v2.json
尝试了,结果如下:如果我编辑Entrypoint(我将尝试提供图像的外观) - s7.photobucket.com/user/309339939/media/docker.jpg.html
没有帮助,因为docker commit
之后该值未保存为新值。但是,如果我更改cmd
,则会保存。结论:入口点依赖于该文件之外的其他内容。有什么想法吗?
答案 0 :(得分:1)
Docker不会以Dockerfile的形式保存数据,此文件是“编译”到图像的图层和配置中的输入。您可以通过以下几种方法来了解更改,但重建另一个Dockerfile将是一个需要手动完成的过程:
docker history
将为您提供所有图层及其命令的列表,但如果使用了外部数据或您提交了容器,则许多这些命令可能无法轻松复制。
docker diff
将显示容器对文件系统的更改。这基本上是构建Docker镜像时每层图层的内容。
docker inspect
将为您提供图像或容器的所有环境设置和其他配置。
docker save
会将图片导出为tar格式,以后可以将其加载回另一个docker引擎。