как настроить прокси контейнеры докера? - PullRequest
0 голосов
/ 29 декабря 2018

как настроить прокси контейнеры докера?

Прежде всего,

Я пытался использовать способ, который установил '/etc/systemd/system/docker.service.d/http-proxy.conf' (https://docs.docker.com/config/daemon/systemd/#httphttps-proxy) и он действительно работает для демона Docker, но он не работает для контейнеров Docker, кажется, что этот способ действует только для некоторой команды, такой как 'Docker Pull'

Secondary,

У меня естьмного docker-контейнеров, я не хочу использовать команду 'docker run -e http_proxy = xxx ...' каждый раз, когда я запускаю контейнер.

Так что я предполагаю, что такой способ существует автоматическизагрузив файл глобальной конфигурации при запуске контейнера, я погуглил его и заставил установить файл '~ / .docker / config.json' ( Как настроить прокси контейнера Docker? , этот способ по-прежнему не выполняетсяработать для меня.

(моя система хост-компьютера - centos7, вот мой докер -v: Docker версии 1.13.1, сборка 6e3bb8e / 1.13.1)

Я чувствую, что это может бытьсвязан с моей версией докера или докером, запущенным службой systemd, поэтому ~ / .docker / config.json делаетне вступают в силу.

Наконец,

Я просто надеюсь, что изменение файлов конфигурации позволит всем моим контейнерам автоматически настраивать переменные окружения при его запуске (то есть автоматически устанавливать переменные окружения 'http_proxy = * 1023)*http://HostIP:8118 https_proxy = http://HostIP:8118' при запуске контейнера, как параметр Dockerfile param ENV).Я хочу знать, есть ли такой способ?И если это можно реализовать, я могу заставить контейнер использовать прокси хоста, в конце концов, агент моего хоста работает правильно.

Но я ошибся, я попытался запустить контейнер, затем установить http_proxy = http://HostIP:8118 и https_proxy = http://HostIP:8118,, но когда я использую команду «wget facebook.com» и получаю «Соединение с HostIP: 8118 ... не удалось: нет маршрута к хосту». Нохост-машина (centos7) может успешно выполнить wget, и я могу успешно пропинговать хост в контейнере.Я не знаю, почему это может быть связано с брандмауэрами и портом 8118.

Все кончено,

OMG .. У меня нет другого пути, кто-нибудь может мне помочь?

==============================

пс: Вы можете видеть на скриншоте ниже, яна самом деле хочу установить goa и goagen, но сообщить об ошибке, может быть, из-за сетевых причин, я хочу открыть агент, чтобы попробовать, так что ... есть только вышеуказанная проблема.

1.my go docker container введите описание изображения здесь

go docker wget

2.my host

my host wget

1 Ответ

0 голосов
/ 29 декабря 2018

Вам нужна версия 17.07 или более поздняя, ​​чтобы автоматически передавать прокси в контейнеры, которые вы начали использовать в файле config.json.Выпуски 1.13 давно не поддерживаются.

Это хорошо документировано из докера: https://docs.docker.com/network/proxy/

...