1. 程式人生 > >docker容器內部域名解析超時導致web訪問500

docker容器內部域名解析超時導致web訪問500

************************      配置dns服務-dnsmasq        ***************************
#安裝dnsmasq 服務
[email protected]:~$ sudo apt-get install dnsmasq
#修改dnsmasq 配置檔案
[email protected]:~$ grep -vE "^$|^#" /etc/dnsmasq.conf
listen-address=172.17.43.1,127.0.0.1,192.168.0.236  #新增監聽地址
#新增需解析的域名
[email protected]
:~$ cat /etc/dnsmasq.d/common address=/alitest.jingning96.com/87.194.23.15 #重啟dnsmasq 服務 [email protected]:~$ sudo service dnsmasq restart #將dnsmasq 加入開機啟動項 [email protected]:~$ sudo systemctl enable dnsmasq #檢測配置是否生效 [email protected]:~$ nslookup alitest.jingning96.com Server: 127.0.0.1 Address: 127.0.0.1#53 Name: alitest.jingning96.com Address: 87.194.23.15 #檢視域名解析時間
[email protected]
:~$ curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} alitest.jingning96.com 10.818:11.016:11.156 [email protected]:~$ curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} alitest.jingning96.com 0.209:0.407:0.618
*****************************  docker指定dns解析伺服器  **************************
#修改docker配置檔案
[email protected]
:~$ grep -vE "^$|^#" /etc/default/docker DOCKER_OPTS="--bip=172.17.43.1/24 --dns=172.17.43.1 --dns=114.114.114.114" [email protected]:~$ cat /lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target docker.socket firewalld.service Wants=network-online.target Requires=docker.socket #若重啟docker服務後發現配置未生效,則 EnvironmentFile 未設定,未獲取$DOCKER_OPTS 引數,修改如下 [email protected]:~$ cat /lib/systemd/system/docker.service [Service] Type=notify EnvironmentFile = -/etc/default/docker # 指定配置檔案 ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS # 指定讀取 $DOCKER_OPTS ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=1048576 LimitNPROC=infinity LimitCORE=infinity TasksMax=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target #載入docker配置 $ sudo systemctl daemon-reload #重啟docker 服務 $ sudo service docker restart #檢測配置是否生效 [email protected]:~$ docker run -it ******** bash [email protected]:/# cat /etc/resolv.conf nameserver 172.17.43.1 nameserver 114.114.114.114 [email protected]:/# nslookup alitest.jingning96.com Name: alitest.jingning96.com Address 1: 87.194.23.15 bogon [email protected]:/# curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} alitest.jingning96.com 0.126:0.236:0.301
*** 若線上站點不宜重啟docker服務,則可以在容器啟動時使用--add-host動態新增/etc/hosts檔案中的內容 ***
docker run \
 -d \
 --name=test \
 --add-host='www.jingning96.com:192.168.0.235' \
 ubuntu:latest

相關推薦

docker容器內部域名解析超時導致web訪問500

************************ 配置dns服務-dnsmasq *************************** #安裝dnsmasq 服務 [ema

docker容器內部無法ping通域名?

1.宿主機上搭建了dns伺服器,在宿主機上可以ping通域名 2.進入容器中卻ping不通域名 ping: xxx.

Docker容器中運行.Net Core web Api項目

c99 images sof 以及 store .com 查看 .html microsoft 安裝Docker環境 參考本人這篇《CentOS 7 下Docker的安裝》文章進行安裝以及環境配置,這裏不做贅述。 通過.NetCore開發WebApi項目 1. 創建.Net

如何在Docker容器內部使用gdb進行debug

安全計算模式(secure computing mode,seccomp)是 Linux 核心功能,可以使用它來限制容器內可用的操作。 Docker 的預設 seccomp 配置檔案是一個白名單,它指定了允許的呼叫。 下表列出了由於不在白名單而被有效阻止的重要(但不是

Docker容器內部埠對映到外部宿主機埠的方法小結

轉自:https://www.cnblogs.com/kevingrace/p/9453987.html   Docker允許通過外部訪問容器或者容器之間互聯的方式來提供網路服務。容器啟動之後,容器中可以執行一些網路應用,通過-p或-P引數來指定埠對映。 注意:宿主機的一個埠只能對映到容器內部

pycharm遠端除錯docker容器內部程式

1. 個人開發環境如下: (1)pycharm專業版(2018.1.2)位於windows10上 (2)docker-daemon(1.13.1)位於centos7上,centos7地址為10.74.53.141 2. 遠端除錯原理:     在win10上安裝pyc

Docker容器不能解析DNS本地地址

Containers cannot resolve DNS if docker host uses 127.0.0.1 as resolver Error code Step 2/9 : RUN apt-get update &&

怎樣連線到docker容器內部

當我們執行好docker容器之後常常需要進入docker容器內部進行一些操作: 1.docker本身提供了attach命令可以實現這一需求: $ docker attach [容器名] attach連線docker後,退出docker容器有兩種方式

Kubernetes內部域名解析的那些事兒

前言     在kubernets環境中,服務發現大都是基於內部域名的方式。那麼就涉及到內部域名的解析。從1.11版本開始,kubeadm已經使用第三方的CoreDNS替換官方的kubedns作為叢集內部域名的解析元件。 kubernets中的4種DNS策略 None

Docker容器內網通過獨立IP直接訪問的方法

地址 9.png 自己 圖片 eight borde log margin 宿主機 Docker官方推薦我們通過端口映射的方式把Docker容器的服務提供給宿主機或者局域網其他容器使用。一般過程是: 1、Docker進程通過監聽宿主機的某個端口,將該端口的數據包發送給Doc

重啟伺服器後Docker容器暴露的埠外網突然訪問不了!!

  問題描述: 伺服器記憶體不夠了 需要加8G記憶體,加記憶體需要重啟伺服器,但是重啟後Docker容器啟動成功,埠也映射了,就是外網訪問不了。 看了下容器是正常執行的埠也是對映成功的: 給阿里雲提工單 給阿里雲提工單了,人家也不知道什麼原因,建議我自己抓包排查!!哎。。。

詳解Web請求中的DNS域名解析

返回 .com 承擔 接受 性能 出現 感覺 技術 image   當我們打開瀏覽器,輸入一個URL去請求我們需要的資源,但是URL是需要解析成對應的IP地址才能與遠程主機建立連接,如何將URL解析成IP就是DNS的工作範疇,即使作為開發人員,這個過程我們也感覺不到,但是它

Docker容器學習梳理--web管理工具DockerUI部署記錄

iptable nds emc alt latest size acc 輸入 本機 Docker容器學習梳理--web管理工具DockerUI部署記錄 Docker提供一個平臺來把應用程序當作容器來打包、分發、共享和運行,它已經通過節省工作時間來拯救了成千上萬的系統管理員和

19、《每天5分鐘玩轉Docker容器技術》學習--Overlay Network內部結構詳解

hostman cloudman cloud openstack docker 一、環境描述以容器方式運行 Consul:通過 http://192.168.56.129:8500 訪問 Consul修改 docker02 和 docker03 的 docker daemon 的配置文件,

在公司內部網絡創建DNS域名解析

DNS DNS部署 linux linux運維 在開發生產中,提供內網絡的web域名解析給研發部門去研發,而不需要將域名提供給外網! yum install -y bind 安裝DNS服務vi /etc/named.conf 修改主配置文件vi /etc/named.rfc1

docker安裝步驟及基於docker容器部署web應用LNMP服務器環境

docker-ce fastcgi nal attach 應用 forward centos7 dir epel docker的介紹 docker的定義: 1.docker的三個概念:Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容

Docker容器web管理工具portainer

rtai 登錄 防火墻 密碼 火墻 鏈接 uri href 設置密碼 本文源鏈接地址:https://www.93bok.com 1、安裝 docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.

Docker容器加載宿主機的hosts解析

doc name 文件 自定義日誌 項目 har 進入容器 主機 刪除 前言   公司一直在用傳統的tomcat下丟war包的架構體系,隨著項目的增多、服務器數量的增多、需要為此花費很多時間在不同服務器的系統環境問題上。為了技術的與時俱進和工作的運維效率等方面,筆者引入d

通過java web代理將docker容器配置為jenkins節點

1、安裝centos映象 docker search centos                  //查詢映象 docker pull centos      &nbs

DNS域名解析之搭建公司內部域--技術流ken

  什麼是DNS  DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網路服務命名系統,它用於TCP/IP網路,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。DNS就是這樣的一位“翻譯官”,它的基本工作原理可用下圖來表示