我从CentOS 6.5镜像创建了一个Docker容器。我对/etc/hosts文件进行了一些更改。然后,我提交了该容器并在一个新的容器中启动了新的镜像,但是/etc/hosts文件被覆盖了。有没有办法保留/etc/hosts文件不变?
不行。 请参见此处的讨论。 Docker根据您给--net选项指定的内容,在/etc/hosts中执行不同的操作。 在默认(桥接)模式下,它会在其中写入容器本身的主机名和IP地址。 没有选项可以将/etc/hosts保留为源镜像中的内容。 您的选项包括: 在运行真正的程序之前,使您的容器在启动时修改/etc/hosts 使用--add-host选项运行容器时向/etc/hosts添加条目。
ENTRYPOINT my_wrapper_script
,这样就可以进行配置并运行以前的ENTRYPOINT
。但是,只要ENTRYPOINT
是 shell 脚本,将内容放在.profile
或类似位置也是有效的。 - Bryan