Я использую панель инструментов Docker для Windows, и я пытаюсь запустить частный реестр докеров из этой документации https://docs.docker.com/registry/deploying/
Но для меня это не работает. Ошибка после этого:
$ docker pull 192.168.99.100:5000/my-ubuntu
Ошибка
$ docker pull 192.168.99.100:5000/image
Using default tag: latest
Error response from daemon: Get https://192.168.99.100:5000/v2/: http: server gave HTTP response to HTTPS client
Я думаю, что это ошибка моего докер-клиента.
Для информации это мой информация о докере
Containers: 6
Running: 4
Paused: 0
Stopped: 2
Images: 19
Server Version: 17.06.0-ce
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 144
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: cfb82a876ecc11b5ca0977d1733adbe58599088a
runc version: 2d41c047c83e09a6d61d464906feb2a2f3c52aa4
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.4.74-boot2docker
Operating System: Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 995.8MiB
Name: default
ID: ZMCX:NXC7:3BSV:ZNWV:MDZO:FW26:6MX5:UWI6:NVRL:XP56:AKGC:Z3TW
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 47
Goroutines: 56
System Time: 2018-04-05T13:43:42.856720067Z
EventsListeners: 0
Username: kacalek
Registry: https://index.docker.io/v1/
Labels:
provider=virtualbox
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Если я попробую на Mac, все будет идеально.
Вы знаете, как эта ошибка решать?
Большое спасибо за каждый ответ!





Похоже, вы неправильно настроили Docker Daemon. Обратите внимание на эти несколько строк:
Insecure Registries:
127.0.0.0/8
Попробуйте добавить эту строку в файл Docker daemon.json и перезапустите Docker Daemon:
"insecure-registries":["192.168.99.100:5000"]
Это в C:\ProgramData\Docker\config
Это не выход! У меня просто "C: \ Program Files \ Docker Toolbox"
Но я нашел файл config.json в "C: \ Users \ kacal \ .docker"
Я использую Docker ToolBox, что означает, что у меня есть VirtualBox с некоторым Linux, и в нем есть docker-engine (я думаю), и у меня есть только докер-клиент Windows, подключенный к docker-engine в Linux в VirtualBox.
К вашему сведению: в Linux это находится в /etc/docker/daemon.json, согласно docs.docker.com/registry/deploying
как сказал @Jose Mhlanga, вам нужно будет добавить эту строку на клиентском компьютере! Позаботьтесь об этом!
В CentOS 7.2.1511 мне пришлось создать новый файл
/etc/docker/daemon.json
с содержанием
{ "insecure-registries":["host:port"] }
(Хост - это имя сервера, на котором размещен мой реестр докеров, а порт - это порт, на котором доступен реестр докеров. В моем случае это 192.168.99.1:50000)
а затем перезапустите демон докера, выполнив:
$ sudo service docker restart
После обновления daemon.json НЕ забывайте перезапускать docker service !!!
Надеюсь, это поможет всем, у кого есть проблемы с работой исправления insecure-registries.
Добавление
{ "insecure-registries":["host:port"] }
к
/etc/docker/daemon.json
не работал у меня, пока я не создал файл
/etc/default/docker
и поставить линию
DOCKER_OPTS = "--config-file=/etc/docker/daemon.json"
в нем, а затем перезапустил демон докеров с помощью
sudo systemctl stop docker и sudo systemctl start docker.
Почему-то просто сделать sudo systemctl restart docker не получилось. Выдавалось сообщение об ошибке быстрого перезапуска службы.
Также для ["host:port"] я использовал IP-адрес своего реестра Docker вместо имени хоста, поскольку у меня не было настройки DNS или файла хостов, чтобы иметь возможность найти реестр по имени хоста.
Это сводило меня с ума, пока я не наткнулся на бит здесь/etc/default/docker.
Я новичок в Docker, и поэтому не знаю, является ли это новым требованием после того, как на это первоначальное сообщение был дан ответ, или было что-то еще, что я пропустил при первой настройке своего реестра. Хотя все, что я делал, это следил за текущей документацией на самом сайте Docker.
Если вы используете Docker Desktop для Windows:
Щелкните значок кита-докера на панели задач.
Появится меню, нажмите Настройки.
Появится всплывающее окно, нажмите Демон
Введите свой незащищенный реестр в текстовую область «Небезопасные реестры».
Нажмите "Применить"
Работа выполнена, нет необходимости вручную редактировать какие-либо файлы
Это сработало и на моем рабочем столе MacOS Docker. Имейте в виду, что демон необходимо перезапустить, поэтому все работающие контейнеры будут убиты.
Если вы используете окна:
"insecure-registries": [],,
"insecure-registries": ["192.168.99.1:5000"],docker system info, затем проверьте, что 192.168.99.1:5000 существует в разделе «небезопасные реестры».Как вы узнали значение 192.168.99.1:5000?
Если вы используете minikube на машине с Windows вместе с реестром дополнений minikube.
1. Найдите IP-адрес реестра. Он будет таким же, как IP minikube.
> minikube ip
2. Отредактируйте файл:
C:\Users\<username>\.minikube\machines\minikube\config.json
"InsecureRegistry": [
"10.96.0.0/12", // Add coma
"<minikube IP>:5000" //-> Add this line
],
Перезапустить миникуб
> minikube start
Возможно, кто-то снова столкнется с этим, @ user674669 также должен был упомянуть, что sudo /etc/docker/daemon.json должен быть установлен на client machine, который хочет подключиться к рассматриваемому реестру Docker.
Это позволяет клиенту подключаться к серверу.
Это ключ, он необходим на клиентской машине, и я делал на сервере, спасибо!
У меня есть rm -Rf ~/.docker, кроме изменения daemon.json.
кредит: https://github.com/moby/moby/issues/28321#issuecomment-638307611
Я установил новую версию Docker в Ubuntu, и ни один из подходов не работает, поэтому я устанавливаю старую версию Docker.
sudo apt-get install docker-ce=5:19.03.12~3-0~ubuntu-focal
и работает как обычно
Вот официальная страница, объясняющая «Тестирование небезопасного реестра». Решения:
THX за ответ. Где daemon.json?