docker容器DNS的解决全过程

 更新时间:2025年09月11日 10:06:40   作者:IT杂人  
容器默认继承宿主机DNS配置,修改宿主机/etc/resolv.conf后容器文件不自动同步,显式挂载时,使用echo修改避免inode变化,确保容器生效,可借助stat命令查看inode信息,并通过docker启动配置管理文件映射

创建容器时指定DNS

#docker-compose
dns:
      - 8.8.8.8
      - 8.8.4.4
#docker run方式
--dns=8.8.8.8  --dns=8.8.4.4

使用默认的方式

会自动加载宿主机的/etc/resolv.conf内容到到容器

但修改宿主机的/etc/resolv.conf文件,不会同步更新到容器里的/etc/resolv.conf;

使用显示挂载的方式

修改宿主机时使用echo,因为使用vi会改变inode,修改后并不会相应变化到容器

#映射文件
"/etc/resolv.conf:/etc/resolv.conf"
#通过echo的方式修改宿主机文件
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

设置docker启动配置

#vi /etc/docker/daemon.json,增加配置:
"dns" : ["114.114.114.114","8.8.8.8"]

附:

查看文件inode信息

stat filename

vi和echo对映射文件的影响

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker-compose安装MySQL8.0.39全过程

    docker-compose安装MySQL8.0.39全过程

    这篇文章主要介绍了docker-compose安装MySQL8.0.39全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • Docker构建ELK Docker集群日志收集系统

    Docker构建ELK Docker集群日志收集系统

    为了在Docker集群中更好的管理查看日志 我们使用Docker 来搭建集群的ELK日志收集系统,这篇文章介绍了Docker构建ELK Docker集群日志收集系统的相关资料,需要的朋友可以参考下
    2016-11-11
  • docker compose管理docker服务的方法

    docker compose管理docker服务的方法

    DockerCompose通过一个配置文件管理多服务,支持启动、停止、重启等生命周期管理,依赖管理、资源隔离和自动重启等关键能力,是单机多容器应用的首选管理工具,本文给大家介绍docker compose如何管理docker服务,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Docker入门与进阶(基础+实战+进阶+Compose+Swarm)超详细版

    Docker入门与进阶(基础+实战+进阶+Compose+Swarm)超详细版

    本文详细介绍了Docker的基础概念、安装配置、镜像与容器操作,包括数据卷、Dockerfile构建、网络管理、Docker Compose单机部署和Swarm集群部署,感兴趣的朋友跟随小编一起看看吧
    2026-04-04
  • Docker中Mysql容器忽略大小写方式

    Docker中Mysql容器忽略大小写方式

    数据迁移中因源库与目标库大小写处理差异导致服务异常,通过Docker构建中间MySQL容器并配置忽略大小写,实现兼容性,此为实践经验,供参考
    2025-09-09
  • 已有docker镜像构建过程分析(使用示例)

    已有docker镜像构建过程分析(使用示例)

    docker history命令用于查看指定镜像的历史层信息,它显示了镜像创建过程中的每一层,包括创建时间、创建者、大小和注释等信息,本文介绍已有docker镜像构建过程分析,感兴趣的朋友一起看看吧
    2024-12-12
  • 3分钟带你学会docker搭建帕鲁服务器

    3分钟带你学会docker搭建帕鲁服务器

    幻兽帕鲁已经正式开服,目前在线人数已经超过7W+,很多玩家想自己创建服务器和朋友一起联机游玩,本文主要介绍了3分钟带你学会docker搭建帕鲁服务器,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • docker之load镜像重命名实现方式

    docker之load镜像重命名实现方式

    文章主要说明在Docker镜像传输中,使用save/load时若未指定名称和标签,会导致镜像REPOSITORY显示为<none>,解决方法为:load后通过docker tag重命名,或打包时使用镜像名:标签格式,确保传输后镜像信息完整
    2025-09-09
  • 详解制作各种docker镜像

    详解制作各种docker镜像

    本篇文章主要介绍了制作各种docker镜像,详解的介绍了各种制作的docker镜像的方法,有兴趣的可以了解一下
    2017-05-05
  • 如何快速清理 docker 资源的方法

    如何快速清理 docker 资源的方法

    这篇文章主要介绍了如何快速清理 docker 资源,具体点说就是删除那些无用的 镜像、容器、网络和数据卷,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论