You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器内/etc/hosts文件创建更新时机及生成逻辑问询

Docker容器/etc/hosts文件生成逻辑(无特殊启动参数场景)
  • 结论先行:仅用docker run <镜像ID>启动容器时,镜像中自带的/etc/hosts文件会被完全忽略,不存在「先用镜像版本再动态修改」的流程
  • 具体生成规则:
    1. 容器启动阶段,Docker daemon会根据当前分配的容器IP、主机名、默认域名解析规则,直接生成全新的/etc/hosts文件挂载到容器的/etc目录下,属于容器的专属挂载文件,既不属于镜像层也不属于容器可写层
    2. 可以通过docker inspect <容器ID/名称>查看Mounts字段,能找到/etc/hosts对应的宿主机本地存储路径,完全独立于镜像文件系统
  • 验证方法非常简单:

    你可以先构建一个测试镜像,在Dockerfile里特意修改/etc/hosts写入自定义内容,之后直接用docker run启动这个镜像,进入容器查看/etc/hosts,会发现你在镜像里写入的内容全部消失,只剩Docker生成的默认条目。

  • 如果需要保留自定义hosts条目,要么启动时加--add-host参数动态添加,要么通过挂载宿主机hosts文件的方式实现,直接在镜像里修改/etc/hosts是无效的。

内容的提问来源于stack exchange,提问作者user10916892

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:15:02