Docker игнорирует локальные настройки днс - PullRequest
0 голосов
/ 06 ноября 2018

Я запустил jenkins-k8s-slave, который должен вытащить из локального реестра. Почему Docker игнорирует локальные настройки DNS (/etc/hosts и /etc/resolv.conf), управляемые kubernetes?

Когда я делаю:

docker pull service.namespace.svc.cluster.local:5000/test:latest

Я получаю: dial tcp: lookup service.namespace.svc.cluster.local: no such host

но это работает:

curl https://service.namespace.svc.cluster.local:5000/v2/_catalog -k {"repositories":[...]}

1 Ответ

0 голосов
/ 06 ноября 2018

Вам нужно будет настроить docker для использования ваших DNS, какими бы они ни были, в этом случае, кажется, вам нужно указать Docker использовать DNS-сервер Kubernetes:

https://github.com/moby/moby/issues/23910

Пример конфигурации:

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"]
}

Смотрите также: https://forums.docker.com/t/docker-pull-not-using-correct-dns-server-when-private-registry-on-vpn/11117/29

...