Docker容器无法解析域名的处理

 更新时间:2023年11月01日 08:52:48   作者:三横兰  
这篇文章主要介绍了Docker容器无法解析域名的处理问题,具有很好的参考价值,希望对大家有所帮助,

问题

在docker容器内ping ip地址能通,但是ping域名的时候报错

在这里插入图片描述

检查docker的DNS服务器

进入容器

docker exec -it <id or name> /bin/bash

查看DNS服务器是否正确

cat /etc/resolv.conf

修改DNS服务器

a. docker内修改。在/etc/resolv.conf添加一下内容。这种方法只能修改单个docker容器

nameserver 8.8.8.8
nameserver 114.114.114.114

b. 宿主机内修改。这种方法之后创建的docker容器都会生效

vi /etc/docker/daemon.json

添加下面内容

{
	"dns": ["8.8.8.8","114.114.114.114"]
}

重启docker

systemctl restart docker

检查宿主机是否开启转发功能

查看宿主机是否开启

cat /proc/sys/net/ipv4/ip_forward

如果返回的结果为0说明未开启

开启方法

a. 直接修改上述文件

echo 1 > /proc/sys/net/ipv4/ip_forward

这种方式当主机重启的时候会改回原值

b. 修改/etc/sysctl.conf

vi /etc/sysctl.conf

添加下面一行代码

net.ipv4.ip_forward = 1

重启主机或者执行下面的命令使之生效

sysctl -p /etc/sysctl.conf

检查防火墙设置

查看防火墙状态

firewall-cmd --state

返回如果是not running就说明不是防火墙问题

如果是running,进行下一步

查看防火墙是否开启伪装功能

firewall-cmd --query-masquerade

如果为no,执行下面的命令开启

firewall-cmd --add-masquerade --permanent

使配置生效

firewall-cmd --reload

总结

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

相关文章

  • 使用Docker搭建Django,Nginx,R,Python部署环境的方法

    使用Docker搭建Django,Nginx,R,Python部署环境的方法

    本篇文章主要介绍了使用Docker搭建Django,Nginx,R,Python部署环境的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Docker打包SpringBoot镜像的实现方式

    Docker打包SpringBoot镜像的实现方式

    docker打包springboot镜像,并不是简单的将springboot项目的jar包上传容器里,然后启动,这个操作很简单,但是如果我每次要查看容器中的日志就需要每次都进入容器内部进行查看,这就非常麻烦了,所以本文介绍了Docker打包SpringBoot镜像的实现方式,需要的朋友可以参考下
    2024-03-03
  • Docker容器部署Elasticsearch并配置分词器的方法实现

    Docker容器部署Elasticsearch并配置分词器的方法实现

    本文主要介绍了Docker容器部署Elasticsearch并配置分词器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Docker Compose从安装到使用详细过程

    Docker Compose从安装到使用详细过程

    Docker Compose是Docker官方提供的一个工具,用于定义和运行多容器 Docker应用程序,本文给大家介绍Docker Compose从安装到使用详细过程,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • 如何在 Ubuntu 下通过 Docker 部署 Caddy 服务器

    如何在 Ubuntu 下通过 Docker 部署 Caddy 

    本文介绍了如何在Ubuntu系统下通过Docker部署Caddy服务器,首先安装Docker,然后启动Docker服务并设置为开机自启,接着拉取Caddy镜像,并创建一个Caddyfile配置文件,使用命令运行Caddy容器,并将本地的Caddyfile挂载到容器内,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • Docker compose部署minio服务

    Docker compose部署minio服务

    这篇文章主要介绍了Docker compose部署minio服务,minio的作用就是用来存储文件的,比如图片、视频、音频等各种类型的文件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • docker network create命令的具体使用

    docker network create命令的具体使用

    docker network create命令用于创建一个新的网络连接,本文就来详细的介绍一下docker network create命令的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker 和 Containerd 目录结构及存储机制详解

    Docker 和 Containerd 目录结构及存储机制详解

    Docker和Containerd是两种流行的容器运行时工具,它们都有自己的目录结构和存储机制,本文详细介绍了Docker和Containerd的目录结构和存储机制,并对比了它们之间的主要区别,包括存储路径、挂载点管理、配置文件和日志文件,感兴趣的朋友一起看看吧
    2025-02-02
  • 详解如何使用Docker打包Python项目

    详解如何使用Docker打包Python项目

    Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包到一个轻量级、可移植的容器中,通过使用Docker,可以简化Python项目的部署和运行,提高开发效率和应用程序的可移植性,本文将介绍如何使用Docker来打包Python项目,需要的朋友可以参考下
    2023-11-11
  • SkyWalking使用和Docker环境下部署方式

    SkyWalking使用和Docker环境下部署方式

    Skywalking是一款分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)架构而设计,该框架采用字节码注入的方式实现代码的无侵入,数据存储支持Mysql、Elasticsearch等
    2026-02-02

最新评论