Докер не может получить доступ к интрасети, которую может хост - PullRequest
0 голосов
/ 10 мая 2018

Я за корпоративным прокси. Я установил HTTP_PROXY, HTTPS_PROXY и NO_PROXY на изображении. Когда я подключен к сети, у меня есть доступ к частному реестру npm, который находится в этой интрасети. Мой образ докера не может получить доступ к этому реестру.

На хост-компьютере Mac я могу запустить:

curl https://<registry>/nodejs/content/groups/npm/lodash

И я получаю JSON для пакета.

На образе докера я запускаю ту же команду и получаю следующее:

curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

Когда я npm install с установленным реестром, он также возвращает ту же проблему.

Почему Docker не может получить доступ к той же конечной точке, что и мой хост-компьютер? Как я могу включить его?

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Немного поздно, но это может кому-то помочь.У меня была та же проблема, и мое решение было настроить демон Docker для использования моей интрасети DNS

Редактировать daemon.json файл

sudo vim /etc/docker/daemon.json

Файл должен выглядеть примерно так

{
  "dns": ["ip-here", "ip-here"]
}

Restart de daemon

sudo service docker restart
0 голосов
/ 30 июня 2019

Я столкнулся с подобной проблемой, которая была там, где существует какая-то докерская сеть, созданная каким-то файлом compose

docker network ls

Я удалил висячий и сохранил доступ к интранету

0 голосов
/ 16 мая 2018

Попробуйте использовать сеть хоста.Если вы можете получить доступ к этому URL из вашего локального, то он должен работать.Вам просто нужно добавить аргумент - сетевой хост в команду build / run.

Пример:

$ docker build <all the other args> --network host .
$ docker run <all the other args> --network host .

Docker по умолчанию создает мостовую сеть, но выможет заставить его использовать вашу локальную сеть с --network host arg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...