У меня есть 2 машины под управлением Dockerd.Один ящик Ubunto.18.04 с установленной докерской версией 18.06.1-ce, который я хочу использовать в качестве небезопасного тестового сервера реестра / хранилища, где я буду использовать единственный способ - использовать SSH-туннель для порта 5000.
Другая - рабочая станция для разработки, Windows 10 'pro' box, в которой также есть локальный экземпляр docker (docker для Windows версии 18.06.1-ce), работающий в качестве службы, которую я использую для сборкитестовые изображения.
Пока что я не могу заставить окно Windows выдвигать или извлекать окно Ubuntu через туннель.
Оба док-станции работают.Я добавил параметр небезопасных реестров на рабочую станцию (через графический интерфейс докера я не смог найти файл daemon.json
, поэтому предположил, что он находится в реестре Windows или в скрытом месте?)
Я добавил localhost: 5000 втест для использования туннеля SSHE и Dev2:5000
(временно для этого теста был открыт порт 5000 во внутренней подсети) для тестирования прямого соединения без туннеля и перезапуска докера.
В окне реестра я следовал примеруо том, как использовать частный реестр и сделал ниже, чтобы проверить его.Я вошел в "Dev2" как пользователь, которого я добавил в группу "docker", которая также имеет права sudo
.Я тоже попробовал как root.
Dev2:> docker pull ubuntu:18.04
# success
Dev2:> docker tag ubuntu:18.04 localhost:5000/testapp:00.01
Dev2:> docker push localhost:5000/testapp/00.01
# success
Dev2:> docker tag ubuntu:18.04 Dev2:5000/testapp:00.02
Dev2:> docker push Dev2:5000/testapp/00.02
# success
Dev2:> docker image rm ubuntu:18.04
# success
Dev2:> docker image ls -a
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost:5000/testapp 00.01 ea4c82dcd15a 40 hours ago 85.8MB
Dev2:5000/testapp 00.02 ea4c82dcd15a 40 hours ago 85.8MB
registry 2 2e2f252f3c88 5 weeks ago 33.3MB
Dev2:> curl http://localhost:5000/v2/_catalog
{"repositories":["testapp"]}
Dev2:> curl http://localhost:5000/v2/testapp/tags/list
{"name":"testapp","tags":["00.01","00.02"]}
Dev2:> curl http://Dev2:5000/v2/_catalog
{"repositories":["testapp"]}
Dev2:> curl http://Dev2:5000/v2/testapp/tags/list
{"name":"testapp","tags":["00.01","00.02"]}
На данный момент все вроде бы нормально.Если я удаляю изображения в докере Dev2 и извлекаю их, они извлекаются из репозитория и повторно добавляются в экземпляр докера.
Теперь я пытаюсь вытянуть изображения в докер на рабочей станции.
Я запускаю ssh tunnel ssh на рабочей станции Windows 10 (версия Msys GNU)
workstation:> ssh nyc.livingwork.com -L 5000:localhost:5000 & # this runs and the tunnel workstation
Я также пытаюсь использовать браузер (без скручивания) с URL:
http://Dev2:5000/v2/testapp/tags/list и http://localhost:5000/v2/testapp/tags/list
И я получаю оба: {"name": "testapp", "tags": ["00.01", "00.02"]}
Так чтосервер доступен как напрямую, так и через туннель.
Теперь я пытаюсь:
workstation:$ docker pull localhost:5000/testapp:00.01
Error response from daemon: Get http://localhost:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
workstation:> docker pull Dev2:5000/testapp:00.02
Error response from daemon: Get http://Dev2:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Время ожидания составляет не менее 30 секунд.Примечание: если я делаю то же самое из другого Unix-бокса с запущенным Docker, все работает правильно, так что это особенно относится к Docker для Windows, работающей в Windows 10. По какой-то причине это не удается.
Я не смог решитьэтот.Нет ни одного HTTP-прокси в цепочке ни на одной машине.Он находится в локальной подсети.Доступны все остальные службы на сервере и т. Д. «Небезопасные реестры» в окне настройки Windows в пользовательском интерфейсе установлены для хостов и портов.
Это ошибка?В Windows 10 докер?Он отлично работает из другой коробки Ubuntu.