Docker容器中的域名解析配置的问题及解决过程

 更新时间:2025年12月19日 10:23:35   作者:共饮一杯无  
文章介绍了在Docker容器中配置局域网域名解析的方法,包括进入容器修改/etc/hosts文件、使用docker build命令、docker run命令和docker-compose.yml文件指定

问题描述

因为要通过局域网域名访问其他服务,在宿主机上配置了域名解析,对于docker容器无效。

解决办法

局域网内的域名不是公网可访问,需要配置域名解析器才能正确访问。

Docker 容器无法解析局域网内的域名,就算你配置了本地主机的 hosts 域名映射也不行。

Docker 环境不同于 wamp 或 xampp,对于局域网内的域名解析,Docker 需要到 Docker 容器中配置 hosts 文件。

进入容器的/etc/hosts文件配置域名解析

docker容器启动后进入/etc/hosts配置域名解析,具体操作如下:

  1. 进入docker容器:
docker exec -it 容器id /bin/sh
  1. /etc/hosts文件配置域名解析
vi /etc/hosts

hosts文件案例如下:

127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.20.0.6      5bf80aa1c49f
180.101.49.11  www.baidu.com

⚠️这种配置的缺点是每次容器启动都要重新配置

docker build 构建镜像的时候添加

docker build 
--add-host zjq.com:172.2.3.4 
-t local/test 
openjdk:latest .

docker build命令官方文档地址

docker run 启动容器的时候添加(推荐)

docker run -d --name container_name 
--add-host zjq.com:172.2.3.4 
image_name:tag;

docker run命令官方文档地址

docker-compose.yml文件指定

zjqtest:
  build: image_name:tag
  extra_hosts:
    zjq.com: 172.2.3.4 
    zjq666.com: 256.69.2.9

总结

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

相关文章

  • Dockerfile制作Tomcat镜像方式

    Dockerfile制作Tomcat镜像方式

    这篇文章主要介绍了Dockerfile制作Tomcat镜像方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • Docker方式创建keepalived连接MGR集群

    Docker方式创建keepalived连接MGR集群

    本文介绍了通过Docker方式创建keepalived代理访问MGR集群的详细步骤,包括重新制作镜像、导入新镜像、创建容器等操作,并说明了配置文件的关键参数,通过这种方式,可以避免手动修改数据库连接地址,实现主节点故障时的自动故障转移
    2022-05-05
  • 详解Docker中容器的备份、恢复和迁移

    详解Docker中容器的备份、恢复和迁移

    本篇文章主要介绍了详解Docker中容器的备份、恢复和迁移 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Docker部署的gitlab升级的详细步骤(升级到17.6.1版本)

    Docker部署的gitlab升级的详细步骤(升级到17.6.1版本)

    本文详细介绍了如何从GitLab 17.1.2版本升级到17.6.1版本,包括备份数据、确定升级路线、分步骤升级以及最终验证新版本的步骤,需要的朋友可以参考下
    2025-02-02
  • Docker如何固定IP设置的方法

    Docker如何固定IP设置的方法

    本篇文章主要介绍了Docker如何固定IP设置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Docker 发布自定义镜像到公共仓库的方法实现

    Docker 发布自定义镜像到公共仓库的方法实现

    在本文我们将学习如何使用Docker从公共仓库拉取Nginx镜像,定制该镜像,添加自定义配置文件,并将定制后的镜像发布到公共仓库,同时指定自定义的名称、描述和版本号,感兴趣的可以了解一下
    2024-01-01
  • 浅析docker-compose部署mysql无法访问的问题

    浅析docker-compose部署mysql无法访问的问题

    Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。接下来通过本文给大家分享docker-compose部署mysql无法访问的问题,需要的朋友参考下吧
    2018-10-10
  • Docker Compose与私有仓库部署指南

    Docker Compose与私有仓库部署指南

    本文介绍了DockerCompose和Harbor在现代应用开发中的应用,通过WordPress实战展示了如何使用DockerCompose进行单机编排,并通过Harbor实现企业级私有仓库的管理,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • Docker如何快速搭建LNMP环境(最新)

    Docker如何快速搭建LNMP环境(最新)

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。本文给大家分享机器学习的基础知识,docker搭建lnmp环境的步骤,感兴趣的朋友一起看看吧
    2021-06-06
  • docker compose和docker-compose的区别及使用说明

    docker compose和docker-compose的区别及使用说明

    Docker Compose V2 是 Docker Compose V1 的替代品,使用 Go 语言编译,性能更好,资源占用更低,新特性包括 Watch 模式、等待服务就绪、环境隔离、更好的依赖控制、并行构建和 DryRun 模式,V2 兼容 V1 的 compose 文件格式,迁移简单
    2026-01-01

最新评论