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

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, я не могу пройти через прокси.

Не уверен, что мне не хватает.

4b9b3361

Ответ 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-адрес