[Proxy] Не удается загрузить изображения Docker за прокси



Answers

Настройки прокси-сервера APT не связаны с Docker.

Docker использует переменную среды HTTP_PROXY, если она присутствует, например:

sudo HTTP_PROXY=http://192.168.1.1:3128/ docker pull busybox

Но вместо этого я предлагаю вам посмотреть файл конфигурации /etc/default/docker : у вас должна быть строка для разблокировки (и, возможно, настройки), чтобы автоматически настроить параметры прокси-сервера. Затем перезапустите сервер Docker:

service docker restart
Question

Я установил docker на свой Ubuntu 13.10, и когда я набираю консоль:

sudo docker pull busybox

Я получаю следующую ошибку:

Pulling repository busybox
2014/04/16 09:37:07 Get https://index.docker.io/v1/repositories/busybox/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: no answer from server

Версия докера:

$ sudo docker version

Client version: 0.10.0
Client API version: 1.10
Go version (client): go1.2.1
Git commit (client): dc9c28f
Server version: 0.10.0
Server API version: 1.10
Git commit (server): dc9c28f
Go version (server): go1.2.1
Last stable version: 0.10.0

Я за прокси-сервером без аутентификации, это мой /etc/apt/apt.conf:

Acquire::http::proxy "http://192.168.1.1:3128/";
Acquire::https::proxy "https://192.168.1.1:3128/";
Acquire::ftp::proxy "ftp://192.168.1.1:3128/";
Acquire::socks::proxy "socks://192.168.1.1:3128/";

Что я делаю не так?




sudo HTTP_PROXY=http://<ip of proxy server:port> docker -d & 

Попробуй это




Это исправление, которое сработало для меня: Ubuntu, Docker verison: 1.6.2

В файле / etc / default / docker добавьте строку:

export http_proxy='http://<host>:<port>'

Перезапустить докер

sudo service docker restart



В новой версии docker, docker-engine , в дистрибутиве systemd , вы должны добавить переменную строку окружения в /lib/systemd/system/docker.service , о чем говорят другие:

Environment = "HTTP_PROXY = http://hostname_or_ip:port/ "




Возможно, вам нужно настроить строчные переменные. В моем случае файл /etc/systemd/system/docker.service.d/http-proxy.conf выглядит следующим образом:

[Service]
Environment="ftp_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"
Environment="http_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"
Environment="https_proxy=http://<user>:<password>@<proxy_ip>:<proxy_port>/"

Удачи! :)




На Ubuntu 14.04 с докерером 1.9.1 я просто раскомментировал строку http_proxy, обновил значение и перезапустил службу докеров.

export http_proxy="http://proxy.server.com:80"

а потом

service docker restart



После установки докера выполните следующие действия:

[mdesales@pppdc9prd1vq ~]$ sudo HTTP_PROXY=http://proxy02.ie.xyz.net:80 ./docker -d &
[2] 20880

Затем вы можете тянуть или делать что угодно:

mdesales@pppdc9prd1vq ~]$ sudo docker pull base
2014/04/11 00:46:02 POST /v1.10/images/create?fromImage=base&tag=
[/var/lib/docker|aa088847] +job pull(base, )
Pulling repository base
b750fe79269d: Download complete
27cf78414709: Download complete
[/var/lib/docker|aa088847] -job pull(base, ) = OK (0)



Поскольку мне еще не разрешено прокомментировать: для CentOS 7 мне нужно было активировать EnvironmentFile в «docker.service», как описано здесь: Управление и настройка Docker с помощью systemd .

Изменить: я добавляю свое решение, как было сказано Нилешем. Мне нужно было открыть «/etc/systemd/system/docker.service», и мне пришлось добавить в раздел

[Обслуживание]

EnvironmentFile = - / и т.д. / sysconfig / Докер

Только после этого в моей системе был загружен файл «etc / sysconfig / docker».




На Ubuntu вам нужно установить http_proxy для демона докеров, а не клиентский процесс, это делается в / etc / default / docker (см. here )




Если вы используете новый Docker для Mac (или Docker для Windows ), просто щелкните правой кнопкой мыши значок «Докер-лоток» и выберите « Настройки» (Windows: «Настройки»), затем перейдите в «Дополнительно», и в разделе «Прокси» укажите настройки прокси-сервера. Нажмите « Применить» и «Перезапустить» и дождитесь перезагрузки Docker.




Links