Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker忽略本地dns设置_Docker_Jenkins_Dns_Kubernetes_Resolve - Fatal编程技术网

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?您的配置是什么意思?你能举个例子吗?它应该从主机设置继承,对吗?