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
Установлен локальный 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.