Хост Docker VM на Windows 7 за корпоративным прокси не может связаться с прокси или более широким Интернетом - PullRequest
0 голосов
/ 25 сентября 2018

Добро пожаловать в еще один немного другой вариант «докер-машины для корпоративного прокси».

Я довольно уверен, что это не точное повторение других вопросов по этой предметной области, потратив огромное количество времени, пытаясь найти другие потенциальные решения, найденные здесь, но безрезультатно, но, поскольку я абсолютно в замешательстве, мы идем ...

Симптом:

root@default:/home/docker# docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: 
proxyconnect tcp: dial tcp: lookup dev-webaccess on 10.0.2.3:53: no such host.
See 'docker run --help'.

Похоже, что он пытается разрешить мой прокси (dev-webaccess) внутри виртуальной машины и не удается.Также кажется, что я не могу ничего пропинговать вне виртуальной машины.Такое впечатление, что это плохая конфигурация сети в ВМ, поскольку трафик не может выйти, но я точно не знаю, в чем проблема.

Как я сюда попал:

  1. Установить Docker Toolbox 18.03.0-ce в Windows 7 с драйвером VirtualBox + NDIS6
  2. Добавить переменные окружения прокси в Docker Toolbox's start.sh, используемые терминалом быстрого запуска Docker: start.sh

  3. Запуск терминала быстрого запуска.Кажется, все идет хорошо: enter image description here Данные прокси также входят в config.json для машины по умолчанию: enter image description here

  4. Затем, после выполнения eval $(docker-machine env default), мы можем подключиться к ssh на машине по умолчанию: enter image description here

  5. И затем, если мы попробуем docker run hello-world,веселье начинается: enter image description here

Вот вывод route в default-machine: enter image description here

Итак, вот, наконец, вопрос: есть ли что-то в показанной здесь конфигурации прокси или сети, которая объясняет, почему трафик не может попасть из виртуального ящика default-machine на мой прокси и в более широкий Интернет?Мне не сетевыми глазами кажется, что трафик пытается покинуть виртуальную машину через eth0 и вообще никуда не может пойти.

Я был бы рад, если бы мне сказали, что я идиот иупустил что-то ослепительно очевидное здесь ...

1 Ответ

0 голосов
/ 01 октября 2018

Я, кажется, решил эту проблему, хотя не могу притворяться, что точно знаю, почему это решило ее.Было немного удивительно на самом деле, просто печальное изменение «Я попробую все на этом этапе», о котором я читал здесь https://github.com/docker/machine/issues/2418

В C:\Users\user.name\.docker\machine\machines\default\config.json У меня было следующее:

"HostOptions": {
    "Driver": "",
    "Memory": 0,
    "Disk": 0,
    "EngineOptions": {
        "ArbitraryFlags": [],
        "Dns": null,
        "GraphDir": "",
        "Env": [
            "HTTP_PROXY=http://user.name:password@dev-webaccess:8080",
            "HTTPS_PROXY=https://user.name:password@dev-webaccess:8080"
        ],

Я только что удалил явные протоколы (http://, https://), сделал docker-machine provision default и вуаля! Моя ВМ работает как сон:

"HostOptions": {
    "Driver": "",
    "Memory": 0,
    "Disk": 0,
    "EngineOptions": {
        "ArbitraryFlags": [],
        "Dns": null,
        "GraphDir": "",
        "Env": [
            "HTTP_PROXY=user.name:password@dev-webaccess:8080",
            "HTTPS_PROXY=user.name:password@dev-webaccess:8080"
        ],

Если кто-нибудь может объяснить, почему это доказалобыть исправлением, я хотел бы знать.

...