说明:编写dockerfile时,如在 文件中 直接操作修改 /etc/hosts 文件,会发现,在生成镜像后,启动容器时,会发现 hosts中的没有 dockerfile 中编写修改 的内容。
原因:Docker在启动容器时创建 /etc/hosts 文件.这就是为什么我的 /etc/hosts 文件的修改被覆盖了.
解决方式一:
不在 dockerfile 中设置 hosts
在启动 docker 时 使用如下语法 添加hosts内容
--add-host=www.baidu.com:127.0.0.1
解决方式二:
通过ENTRYPOINT命令动态更改主机文件
两种格式:
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2(shell中执行)
配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。
每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。
作者:admin 创建时间:2022-11-24 10:41
最后编辑:joker.liu 更新时间:2023-04-23 14:39
最后编辑:joker.liu 更新时间:2023-04-23 14:39