docker容器无法ping域名问题及解决

 更新时间:2024年08月17日 12:08:12   作者:liuyeluoqing  
这篇文章主要介绍了docker容器无法ping域名问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker容器无法ping域名问题

现象

容器内

ping 114.114.114.114 #正常
ping baidu.com #超时

原因

DNS错误不能进行域名解析。

  • 方法一:

容器目录下新建resolv.conf文件。

vi ./resolv.conf

写入:

search donot
nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 127.0.0.11
options ndots:0

在docker-compose.yml中加入文件映射。

volumes:
  - ./resolv.conf:/etc/resolv.conf
  • 方法二:

在docker配置中加入默认DNS(这个试了未成功,暂没分析)。

docker容器无法访问外网 ping: bad address

# 进入容器
docker exec -it 容器id sh
 
ping www.baidu.com
 
# 返回结果:ping: bad address 'www.baidu.com'

推测原因应该是DNS网络解析的问题,网上查资料得知,docker在创建时默认不会使用宿主机的网络,是被单独隔离在一个网络环境中运行的。

考虑到我创建的容器不需要单独的网络环境,所以使用--network=host,实现docker访问宿主机网络,最终解决问题。

# 容器停止,并删除
docker stop [容器id]
 
docker rm [容器name]
 
# 重新创建docker容器
docker run -it -d --init --name [容器name] --network=host -p [端口] [镜像]
 
# 进入容器查看
docker exec -it [新的容器id] sh
 
ping www.baidu.com
 
# 成功!

总结

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

相关文章

  • 解决docker报错Encountered errors while bringing up the project实测有效

    解决docker报错Encountered errors while bringing&n

    这篇文章主要介绍了解决docker报错Encountered errors while bringing up the project实测有效!具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • docker compose入门helloworld的详细过程

    docker compose入门helloworld的详细过程

    docker-compose是基于docker的,所以我们需要先安装docker才能使用docker-compose,接下来通过本文给大家介绍docker compose入门helloworld的过程,一起看看吧
    2021-09-09
  • docker修改容器的端口、容器名、映射地址以及注意事项

    docker修改容器的端口、容器名、映射地址以及注意事项

    在日常的docker运维中,经常遇到修改容器的端口、容器名、映射地址等信息,这篇文章主要给大家介绍了关于docker修改容器的端口、容器名、映射地址以及注意事项的相关资料,需要的朋友可以参考下
    2022-08-08
  • docker部署ES集群的实现

    docker部署ES集群的实现

    本文介绍了如何在Ubuntu20.04.2 LTS环境下通过Docker部署Elasticsearch7.10.1集群,详细步骤包括从Docker镜像仓库拉取Elasticsearch镜像,创建文件映射目录,运行Docker容器,配置Elasticsearch的端口和权限,以及集群的相关设置,感兴趣的可以了解一下
    2024-10-10
  • CentOS7上安装Docker的详细步骤

    CentOS7上安装Docker的详细步骤

    Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单,容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止,下面这篇文章主要给大家介绍了关于CentOS7上安装Docker的详细步骤,需要的朋友可以参考下
    2022-01-01
  • docker部署zabbix_agent的方法步骤

    docker部署zabbix_agent的方法步骤

    这篇文章主要介绍了docker部署zabbix_agent的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 详解Docker Swarm 在持续集成测试中的应用

    详解Docker Swarm 在持续集成测试中的应用

    本文主要介绍如何利用 Docker Swarm 集群功能和 Selenium Grid 脚本分发功能,来搭建一个可以动态扩容的 Selenium 自动化脚本执行环境,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • CentOS 7.9 安装 docker20.10.12的过程解析

    CentOS 7.9 安装 docker20.10.12的过程解析

    这篇文章主要介绍了CentOS 7.9 安装 docker20.10.12 的相关资料,安装软件包时卸载旧软件包,如果已经安装这些程序,请卸载他们以及相关的依赖项,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • 详解如何使用Docker部署一个web项目并打包成镜像文件

    详解如何使用Docker部署一个web项目并打包成镜像文件

    这篇文章主要介绍了详解如何使用Docker部署一个web项目并打包成镜像文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • docker部署nodejs开发环境详细步骤(基础示例篇)

    docker部署nodejs开发环境详细步骤(基础示例篇)

    这篇文章主要给大家介绍了docker部署nodejs开发环境详细步骤,docker是一个开源的应用容器引擎,可以为我们提供安全、可移植、可重复的自动化部署的方式,需要的朋友可以参考下
    2023-10-10

最新评论