Docker Ubuntu за прокси
Глядя на документы, нет инструкции о том, как запустить его за прокси.
https://docs.docker.com/installation/ubuntulinux/
Чтение на форумах инструкции для обновления /etc/default/docker для экспорта настроек прокси.
export http_proxy="http://127.0.0.1:3128/"
export https_proxy="http://127.0.0.1:3128/"
export HTTP_PROXY="http://127.0.0.1:3128/"
export HTTPS_PROXY="http://127.0.0.1:3128/"
Затем мы перезапускаем/запускаем docker
sudo service docker start
Внутри контейнера, если я запускаю 'apt-get', npm install, bower install, я не могу пройти через прокси.
Не уверен, что мне не хватает.
Ответы
Ответ 1
Ubuntu 14.04 LTS
Для Ubuntu 14.04 LTS
, который использует SysVinit
, вы должны изменить файл /etc/default/docker
:
# cat /etc/default/docker
# Docker Upstart and SysVinit configuration file
#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
# Please see the documentation for "systemd drop-ins":
# https://docs.docker.com/engine/articles/systemd/
#
.......
# If you need Docker to use an HTTP proxy, it can also be specified here.
export http_proxy="http://web-proxy.corp.xxxxxx.com:8080/"
export https_proxy="https://web-proxy.corp.xxxxxx.com:8080/"
......
Затем перезапустите docker
:
service docker restart
Ubuntu 16.04 LTS
Для Ubuntu 16.04 LTS
, который использует Systemd
, вы можете следовать этому сообщению :
(1) Создайте директорию drop-in systemd:
mkdir /etc/systemd/system/docker.service.d
(2) Добавьте прокси в файл /etc/systemd/system/docker.service.d/http-proxy.conf
:
# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
Environment="HTTPS_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"
(3) Сброс изменений:
systemctl daemon-reload
(4) Перезагрузите докер:
systemctl restart docker
Ответ 2
Для Ubuntu 14.04.2 LTS
Linux vagrant-ubuntu-trusty-64 3.13.0-54-generic #91-Ubuntu SMP Tue May 26 19:15:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Отредактируйте файл /etc/default/docker
sudo vim /etc/default/docker
Добавьте эту строку внизу:
export http_proxy="http://PROXY_IP:PROXY_PORT"
Перезапустите службу docker
sudo service docker restart
Ответ 3
systemctl должен быть установлен, что может быть проблематичным.
Если решение /etc/systemd/system/docker.service.d/http-proxy.conf или/etc/default/docker не работает для вас, просто используйте следующую команду:
docker build [OPTIONS] PATH --build-arg http_proxy=http://your.proxy:port --build-arg https_proxy=http://your.proxy:port --build-arg no_proxy=.internal.domain,localhost,127.0.0.1
Ответ 4
В Ubuntu 14.04 LTS:
Интересная проблема с HTTP_PROXY, HTTPS_PROXY заключается в следующем: если ваш пароль имеет специальный char, такой как "$", "%", тогда он не будет корректно обработан демонами докеров при выполнении команды типа: док-станция запустите xxx, вы столкнетесь с ошибкой. Затем вы можете попробовать установить специальный char другим, удачи.
Ответ 5
Вы должны заменить 127.0.0.1
на ваш IP-адрес хоста или какой-либо общедоступный IP-адрес