У меня на CentOS работает докер 1.12. Я пытаюсь добавить к нему небезопасный реестр, и вещи, упомянутые в документации, просто не работают. Система использует, 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
Что можно сделать? Я что-то упускаю ?
ОБНОВИТЬ
Решил проблему, добавив файл /etc/docker/daemon.json
со следующим содержимым
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
А затем перезапустите докер
sudo systemctl daemon-reload
sudo systemctl restart docker
После этого hostname.cloudapp.net:500
работает небезопасный реестр .
docker
docker-registry
Евгений Шарапов
источник
источник
Ответы:
(Копирование ответа из вопроса)
Чтобы добавить небезопасный реестр докеров, добавьте файл
/etc/docker/daemon.json
со следующим содержимым:а затем перезапустите докер.
источник
/etc/sysconfig/docker
лайках Red Hat вы хотите добавить его в качестве одной из опций, например, при установке Openshift:OPTIONS='--insecure-registry=172.30.0.0/16 --others [...]'
На лайках Suse я не знаю.daemon.json
версии файла. Спасибо!/etc/docker/daemon.json
работает нормально.Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
@ MattСоздание файла /etc/docker/daemon.json и добавление приведенного ниже содержимого, а затем перезапуск докера в CentOS 7 разрешили проблему.
источник
Решение с
/etc/docker/daemon.json
файлом не сработало для меня на Ubuntu.Мне удалось настроить небезопасные реестры Docker в Ubuntu, указав параметры командной строки для демона Docker в
/etc/default/docker
файле, например:Таким же образом можно настроить собственный каталог для хранения образов и томов докеров, DNS-серверов по умолчанию и т. Д.
Теперь, после перезапуска демона Docker (после выполнения
sudo service docker restart
), при запускеdocker info
будет отображаться:источник
Для меня решением было добавить сюда реестр:
/ и т.д. / sysconfig / docker-registries
источник
Если у вас уже есть файл config.json, то окончательный файл должен выглядеть примерно так ... Вот
registry.myprivate.com
тот, который вызывал у меня проблемы.{ "auths": { "https://index.docker.io/v1/": { "auth": "xxxxxxxxxxxxxxxxxxxx==" }, "registry.myprivate.com": { "auth": "xxxxxxxxxxxxxxxxxxxx=" } }, "HttpHeaders": { "User-Agent": "Docker-Client/19.03.8 (linux)" }, "insecure-registries" : ["registry.myprivate.com"] }
источник
Я столкнулся с подобной проблемой после настройки локального внутреннего реестра JFrog Docker Private Registry в Amazon Linux.
Следующее, что я сделал, чтобы решить проблему:
Добавлен "--insecure-registry xx.xx.xx.xx: 8081" путем изменения переменной OPTIONS в файле / etc / sysconfig / docker:
Затем перезапустил докер.
Затем я смог войти в локальный реестр докеров, используя:
источник