Ответ 1
(Копирование ответа с вопроса)
Чтобы добавить небезопасный реестр докеров, добавьте файл /etc/docker/daemon.json
со следующим содержимым:
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
а затем перезапустите докер.
У меня есть докер 1.12, работающий на CentOS. Я пытаюсь добавить в него небезопасный реестр, и все, что упоминается в документации, просто не работает. Система использует systemd
, поэтому я создал файл /etc/systemd/system/docker.service.d/50-insecure-registry.conf
.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
После загрузки демона и перезапуска службы докеров, systemd показывает, что существует переменная среды
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Но когда я запускаю docker info
, я не вижу, что небезопасный реестр добавлен
$ docker info
........
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
Нажатие изображений на hostaneme.cloudapp.net
не выполняется с помощью
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
Есть ли что-то, что можно было бы сделать? Я что-то упускаю?
UPDATE
Устранена проблема, добавив файл /etc/docker/daemon.json
со следующим содержимым
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
И затем перезапустите docker
sudo systemctl daemon-reload
sudo systemctl restart docker
После этого работает небезопасный реестр hostname.cloudapp.net:500
.
(Копирование ответа с вопроса)
Чтобы добавить небезопасный реестр докеров, добавьте файл /etc/docker/daemon.json
со следующим содержимым:
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
а затем перезапустите докер.
Создание файла /etc/docker/daemon.json и добавление приведенного ниже содержимого, а затем перезапуск докера в CentOS 7 решили проблему.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
Решение с файлом /etc/docker/daemon.json
не работает для меня в Ubuntu.
Мне удалось настроить небезопасные реестры Docker в Ubuntu, предоставив параметры командной строки для демона Docker в /etc/default/docker
, например:
# /etc/default/docker
DOCKER_OPTS="--insecure-registry=a.example.com --insecure-registry=b.example.com"
Таким же образом можно настроить пользовательский каталог для хранения образов и томов докера, DNS-серверов по умолчанию и т.д.
Теперь, после перезапуска демона Docker (после выполнения sudo service docker restart
), информация о запуске docker info
покажет:
Insecure Registries:
a.example.com
b.example.com
127.0.0.0/8