Docker忽略本地dns设置
我启动了一个Docker忽略本地dns设置,docker,jenkins,dns,kubernetes,resolve,Docker,Jenkins,Dns,Kubernetes,Resolve,我启动了一个jenkins-k8s-slave,它应该从本地注册表中提取。为什么docker会忽略kubernetes管理的本地DNS设置(/etc/hosts和/etc/resolv.conf) 当我这样做时: docker pull service.namespace.svc.cluster.local:5000/test:latest 我得到:拨号tcp:lookup service.namespace.svc.cluster.local:没有这样的主机 但这是可行的: curlhttps
jenkins-k8s-slave
,它应该从本地注册表中提取。为什么docker会忽略kubernetes管理的本地DNS设置(/etc/hosts
和/etc/resolv.conf
)
当我这样做时:
docker pull service.namespace.svc.cluster.local:5000/test:latest
我得到:拨号tcp:lookup service.namespace.svc.cluster.local:没有这样的主机
但这是可行的:
curlhttps://service.namespace.svc.cluster.local:5000/v2/_catalog -k
{“存储库”:[…]}
您需要配置docker来使用您的dns,无论是什么,在这种情况下,您似乎需要告诉docker使用kubernetes dns:
配置示例:
cat /etc/docker/daemon.json
{
"hosts": [ "unix:///var/run/docker.sock","tcp://0.0.0.0:2376"],
"live-restore": true,
"tls": true,
"tlscacert": "/etc/docker/ssl/ca.pem",
"tlscert": "/etc/docker/ssl/cert.pem",
"tlskey": "/etc/docker/ssl/key.pem",
"tlsverify": true,
"dns":["172.21.1.100","172.16.1.100"]
}
另见:
您是否已将docker配置为使用DNS?您的配置是什么意思?你能举个例子吗?它应该从主机设置继承,对吗?