Не удалось найти ошибку изображения, как настроить прокси для загрузки изображений
Мне нужно настроить прокси корпорации, чтобы Docker мог загружать изображения из публичного реестра.
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
Error while pulling image: Get https://index.docker.io/v1/repositories/library/hello-world/images: dial tcp: lookup index.docker.io: no such host
Я использую Ubuntu 12.04 machine. Я нашел этот ответ, но systemctl нет в Ubuntu 12.04. Как я могу это сделать?
Спасибо.
6 ответов:
Я получал следующую ошибку при попытке запустить контейнер hello-world
$docker run hello-world Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 34.205.194.204:443: getsockopt: no route to host.Я попробовал шаги в следующей ссылке, которая работала для меня в отношении HTTPS или HTTP конфигурации
Https://docs.docker.com/engine/admin/systemd/#httphttps-proxy
На CentOS, что работает для меня, это добавить эту строку к
/etc/sysconfig/docker:http_proxy=your_proxy:port
Из официальной документации Docker,
Создайте раскрывающийся каталог
systemdдля службы docker:$ sudo mkdir -p /etc/systemd/system/docker.service.dСоздайте файл с именем
/etc/systemd/system/docker.service.d/http-proxy.conf, который добавляет переменную окруженияHTTP_PROXY:[Service] Environment="HTTP_PROXY=http://proxy.example.com:80/"Или, если вы находитесь за прокси-сервером HTTPS, создайте файл с именем
/etc/systemd/system/docker.service.d/https-proxy.conf, который добавляет переменную окруженияHTTPS_PROXY:[Service] Environment="HTTPS_PROXY=https://proxy.example.com:443/"Если у вас есть внутренние реестры Docker, с которыми вы должны связаться без проксирования, вы можете указать их через среду
NO_PROXYпеременная:[Service] Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"Или, если вы находитесь за HTTPS прокси-сервером:
[Service] Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"Изменения Флеша:
$ sudo systemctl daemon-reloadПерезапустить Докер:
$ sudo systemctl restart dockerУбедитесь, что конфигурация загружена:
$ systemctl show --property=Environment docker Environment=HTTP_PROXY=http://proxy.example.com:80/Или, если вы находитесь за HTTPS прокси-сервером:
$ systemctl show --property=Environment docker Environment=HTTPS_PROXY=https://proxy.example.com:443/
Необходимо установить прокси-сервер как для сервера docker (docker-machine), так и для клиента docker (docker).
Установить прокси для docker-машины: Я думаю, что вы можете указать это при создании машины, см. docker / toolbox#102 (comment)
docker-machine create -d virtualbox \ --engine-env HTTP_PROXY=http://example.com:8080 \ --engine-env HTTPS_PROXY=https://example.com:8080 \ --engine-env NO_PROXY=example2.com \ defaultУстановить прокси для docker (клиента)
Windows
set http_proxy=http://example.com:8080 set https_proxy=https://example.com:8080Linux
export http_proxy=http://example.com:8080 export https_proxy=https://example.com:8080
Только для Ubuntu
Отредактируйте
/etc/defaults/docker.ioи добавьте следующие строки:export http_proxy='http://user:password@proxy-host:proxy-port'Затем перезапустить демон docker:
sudo service docker.io restart
Несмотря на добавление прокси, docker версии "18.06.0" не работает, однако нижняя версия docker работает нормально.
Edit 1: повторная установка docker-ce будет работать !!
Comments