Docker набор инструментов на Windows 10 с VirtualBox - Client.Timeout превышен при ожидании заголовков в локальном реестре - PullRequest
0 голосов
/ 13 января 2020

Windows 10

Последняя версия VirtualBox

Docker -Toolbox последняя версия

Файл Hosts: 127.0.0.1 registry.me

Добавлено в конфигурацию . json:

 "InsecureRegistry": ["127.0.0.1:5000",
            "registry.me:5000",
            "windows 10 IP:5000"
            ],

Настроенная переадресация портов в Virtual Box:

Открыт VirtualBox Manager

Выбран компьютер по умолчанию

Сеть

NAT

Переадресация портов

Добавлена ​​запись для порта 5000

enter image description here

Установлен локальный docker реестр:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

пу sh до localhost отлично работает

docker push localhost:5000/ubuntu
The push refers to repository [localhost:5000/ubuntu]
918efb8f161b: Layer already exists                                                                                      
27dd43ea46a8: Layer already exists                                                                                      
9f3bfcc4a1a8: Layer already exists                                                                                      
2dc9f76fb25b: Layer already exists                                                                                      
latest: digest: sha256:2695d3e10e69cc500a16eae6d6629c803c43ab075fa5ce60813a0fc49c47e859 size: 1152

Включен небезопасный реестр:

$ sudo vi /var/lib/boot2docker/profile:

EXTRA_ARGS="
--insecure-registry localhost:5000
--insecure-registry 127.0.0.1:5000
--insecure-registry registry.me:5000
--insecure-registry IP-of-Windows-10:5000
--dns 8.8.8.8

"

рестарт docker ВМ:

docker-machine restart default

Я могу сделать sh только изображения, помеченные как locahost

docker push registry.me:5000/ubuntu
The push refers to repository [registry.me:5000/ubuntu]
Get https://registry.me:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Брандмауэр отключен на windows 10

В свойствах TCP / IP сетевого адаптера VirtuaBox Host-Only задайте 8.8.8.8 в качестве предпочтительного DNS-сервера, отключенный IPV6, перезапущенный windows 10 хост, без помощи

    curl -v http://myregistry.me:5000/v2/_catalog
*   Trying ::1...
* TCP_NODELAY set
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to myregistry.me (127.0.0.1) port 5000 (#0)
> GET /v2/_catalog HTTP/1.1
> Host: myregistry.me:5000
> User-Agent: curl/7.55.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< Docker-Distribution-Api-Version: registry/2.0
< X-Content-Type-Options: nosniff
< Date: Mon, 13 Jan 2020 13:24:50 GMT
< Content-Length: 28
<
{"repositories":["ubuntu"]}
* Connection #0 to host myregistry.me left intact

Обходной путь:

 docker-machine ssh default
    sudo vi /etc/hosts
    127.0.0.1 registry.me

Теперь из CMD я могу пу sh:

docker push registry.me:5000/ubuntu
The push refers to repository [registry.me:5000/ubuntu]
918efb8f161b: Layer already exists                                                                                      
27dd43ea46a8: Layer already exists                                                                                      
9f3bfcc4a1a8: Layer already exists                                                                                      
2dc9f76fb25b: Layer already exists                                                                                      
latest: digest: 
sha256:2695d3e10e69cc500a16eae6d6629c803c43ab075fa5ce60813a0fc49c47e859 size: 1152

Но если я перезапущу docker Виртуальная панель инструментов, все изменения будут потеряны. По крайней мере, у меня все получилось, но мне нужно каждый раз при перезагрузке компьютера редактировать файл hosts docker VM.

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