Подтвердить что ты не робот

Как исправить Docker "Ошибка вытягивания изображения... слишком много перенаправления" при сбоях при извлечении изображений из реестра?

Я запускаю Docker через CoreOS и Vagrant на OS X 10.10.

Когда я запускаю docker pull ubuntu в CoreOS, я получил следующие ошибки:

$ docker pull ubuntu
Pulling repository ubuntu
cc0067db4f11: Error pulling image (precise) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/cc0067db4f11198ef6fd0435f96a973e559b1cebfceb2bc8e4fe527b32045c2f/ancestry: dial tcp: lookup cdn-registry-1.dcc0067db4f11: Error pulling image (precise) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/cc0067db4f11198ef6fd0435f96a973e559b1cebfceb2bc8e4fe527b32045c2f/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
6006e6343fad: Error pulling image (quantal) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/6006e6343fadaaeb5dd98436a3cd17eac8c03cabca1ed4c8778d039e72ebcc9c/ancestry: dial tcp: lookup cdn-registry-1.d6006e6343fad: Error pulling image (quantal) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/6006e6343fadaaeb5dd98436a3cd17eac8c03cabca1ed4c8778d039e72ebcc9c/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
7656cbf56a8c: Error pulling image (13.04) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/7656cbf56a8c831de71ef43809b04fcf8125e7b039250835b6c5f6f280daf12e/ancestry: dial tcp: lookup cdn-registry-1.doc7656cbf56a8c: Error pulling image (13.04) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/7656cbf56a8c831de71ef43809b04fcf8125e7b039250835b6c5f6f280daf12e/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
3db9c44f4520: Error pulling image (lucid) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710/ancestry: dial tcp: lookup cdn-registry-1.doc3db9c44f4520: Error pulling image (lucid) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
5cf8fd909c6c: Error pulling image (trusty) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/5cf8fd909c6ccc61199df6dbeb165767b83c23842ef49ca3ef3b81ece1bdce4f/ancestry: dial tcp: lookup cdn-registry-1.do5cf8fd909c6c: Error pulling image (trusty) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/5cf8fd909c6ccc61199df6dbeb165767b83c23842ef49ca3ef3b81ece1bdce4f/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
d2099a5ba6c5: Error pulling image (saucy) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/d2099a5ba6c5a0f94f84162d69b4cb79b47c7ea1768550c6cee55a7ba2dc3647/ancestry: dial tcp: lookup cdn-registry-1.docd2099a5ba6c5: Error pulling image (saucy) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/d2099a5ba6c5a0f94f84162d69b4cb79b47c7ea1768550c6cee55a7ba2dc3647/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
2014/06/05 12:17:11 Could not find repository on any of the indexed registries.

Я был бы очень признателен, если бы кто-нибудь мог дать мне полезный совет по устранению этой проблемы.

4b9b3361

Ответ 1

Попробуйте это временное решение:

osx$ boot2docker up
osx$ boot2docker ssh
[email protected]$ sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
[email protected]$ sudo /etc/init.d/docker restart

Он работает до перезагрузки.

Ответ 2

Я не знаю об ОС X, но в Linux это может произойти из-за "плохого" /etc/resolv.conf на хосте. Например, ubuntu добавляет что-то вроде:

nameserver 127.0.1.1

а затем обрабатывает DNS-запросы через некоторую службу. Проблема в том, что это доступно изнутри изображения.

Чтобы исправить это, мне пришлось добавить некоторые внешние серверы имен, например:

nameserver 127.0.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4

Ответ 3

У меня была аналогичная проблема при попытке вытащить контейнер из репозитория докеров с помощью этой команды:
докеры тянут ubuntu

Обратите внимание, что я использовал coreos внутри виртуального бокса, и я использовал Nat в качестве моей сетевой конфигурации для доступа к Интернету. При переключении сетевых режимов с помощью виртуального бокса я не мог сделать ничего.

Я решил проблему, перезапустив docker с помощью systemctl, пропустив эту команду:
sudo systemctl restart docker

И тогда моя тяга работала нормально. Надеюсь, это решение вам помогло. И я получил это из проблемы группы google, адресованной одним из разработчиков CoreOS (Brandon Philips) по этой ссылке: https://groups.google.com/forum/#!topic/coreos-dev/vWqSbPgNYro

Ответ 4

10.0.2.3 - виртуальный сервер dns, проверьте Точная настройка механизма NAT VirtualBox

В качестве другого предлагаемого использования можно использовать 8.8.8.8, который является сервером google dns.

# /etc/resolve.conf
nameserver 8.8.8.8

И если вы работаете в интранете, а затем замените его на ваш обычный DNS-сервер, который вы можете добавить search, как показано ниже

# /etc/resolve.conf
nameserver xxx.xxxx.xxx
search company.com

Это будет полезно для доступа к вашему частному репо

Ответ 5

В MacOSX, если вы используете Docker Machine, вы можете попробовать:

 docker-machine ls
 docker-machine ssh YOUR_VM_NAME

а затем из VM: запустите процесс /usr/local/bin/docker и запустите его вручную вручную:

 sudo /usr/local/bin/docker -d -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label provider=virtualbox --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -s aufs

Как ни странно, перезагрузитесь, как этот

sudo /etc/init.d/docker restart

не помогает.

Ответ 6

В окнах мне удалось исправить это, выполнив следующие действия:

  • Перейти к приложению виртуального окна
  • Удалить созданную виртуальную машину
  • Перезагрузите компьютер (необязательно, я думаю)
  • Запуск Kitematic
  • Вернитесь в Virtual Box, нажмите show
  • Убедитесь, что команда ping google.com работает

Теперь я могу загружать изображения докеров с концентратора.