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使用Swarm组建集群的方法

    Docker使用Swarm组建集群的方法

    Docker 使用 Swarm 可以很方便的在多个主机上创建容器集群,并且容器之间可以跨主机网络通信。这篇文章主要介绍了Docker使用Swarm组建集群,需要的朋友可以参考下
    2017-11-11
  • docker部署nginx访问宿主机服务并使用缓存的操作方法

    docker部署nginx访问宿主机服务并使用缓存的操作方法

    这篇文章主要介绍了docker部署nginx访问宿主机服务并使用缓存的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2024-04-04
  • docker如何查看容器启动命令(已运行的容器)

    docker如何查看容器启动命令(已运行的容器)

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,下面这篇文章主要给大家介绍了关于docker如何查看容器启动命令(已运行的容器)的相关资料,需要的朋友可以参考下
    2023-02-02
  • 解决Docker启动Elasticsearch7.x报错的问题

    解决Docker启动Elasticsearch7.x报错的问题

    这篇文章主要介绍了解决Docker启动Elasticsearch7.x报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 清理的常用方法及问题

    Docker 清理的常用方法及问题

    这篇文章主要介绍了Docker 清理的常用方法及问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 基于docker的redis主从及哨兵配置方式

    基于docker的redis主从及哨兵配置方式

    这篇文章主要介绍了基于docker的redis主从及哨兵配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker 拉取镜像超时(亲测 3 个有效镜像源 + 避坑指南)

    Docker 拉取镜像超时(亲测 3 个有效镜像源 + 避坑指南)

    Docker 默认镜像源在国外,国内访问经常抽风,常规操作应该是换国内镜像源,本文就来介绍一下三个国内稳定源,具有一定的参考价值,感兴趣的可以了解一下
    2025-08-08
  • Docker容器部署Java项目的自动化脚本

    Docker容器部署Java项目的自动化脚本

    这篇文章主要为大家详细介绍了Docker容器中部署Java项目的自动化脚本编写,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • Docker启动容器权限报错问题及解决

    Docker启动容器权限报错问题及解决

    Docker启动容器时权限报错,解决方法是将/etc/selinux/config文件中的SELINUX属性改为disabled,然后重新启动Docker并启动容器
    2026-03-03
  • Docker网络配置与自定义IP容器通信

    Docker网络配置与自定义IP容器通信

    IP地址是Docker容器在网络中的唯一标识,每个Docker都会被分配一个 IP,用于网络通信,本文主要介绍了Docker网络配置与自定义IP容器通信,感兴趣的可以了解一下
    2024-03-03

最新评论