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. 宿主機內修改。這種方法之后創(chuàng)建的docker容器都會生效
vi /etc/docker/daemon.json
添加下面內容
{
"dns": ["8.8.8.8","114.114.114.114"]
}
重啟docker
systemctl restart docker
檢查宿主機是否開啟轉發(fā)功能
查看宿主機是否開啟
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
重啟主機或者執(zhí)行下面的命令使之生效
sysctl -p /etc/sysctl.conf
檢查防火墻設置
查看防火墻狀態(tài)
firewall-cmd --state
返回如果是not running就說明不是防火墻問題
如果是running,進行下一步
查看防火墻是否開啟偽裝功能
firewall-cmd --query-masquerade
如果為no,執(zhí)行下面的命令開啟
firewall-cmd --add-masquerade --permanent
使配置生效
firewall-cmd --reload
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d
這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內容是從?Docker入門到進階里面抽離出來的內容,從而使原文更加有序、重點突出,需要的朋友可以參考下2023-08-08
CentOS7環(huán)境下使用Docker搭建PHP運行環(huán)境的過程詳解
這篇文章主要介紹了CentOS7環(huán)境下使用Docker搭建PHP運行環(huán)境,文中給大家提到創(chuàng)建私有網絡及安裝nginx的方法,本文給大家介紹的非常詳細,需要的朋友可以參考下2021-08-08
詳解使用export/import導出和導入docker容器
本篇文章主要介紹了詳解使用export/import導出和導入docker容器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

