Mam docker 1.12 działający na CentOS. Próbuję dodać do niego niezabezpieczony rejestr, a rzeczy wymienione w dokumentacji po prostu nie działają. System używa, systemd
więc utworzyłem /etc/systemd/system/docker.service.d/50-insecure-registry.conf
plik.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
Po załadowaniu demona i ponownym uruchomieniu usługi docker, systemd pokazuje, że zmienna środowiskowa tam jest
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Ale kiedy uruchamiam docker info
, nie widzę dodanego niezabezpieczonego rejestru
$ 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
Przesyłanie obrazów do hostaneme.cloudapp.net
niepowodzeń z
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
Czy jest coś, co można zrobić? Czy coś mi brakuje?
AKTUALIZACJA
Rozwiązano problem, dodając plik /etc/docker/daemon.json
z następującą zawartością
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
Następnie uruchom ponownie docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Po tym niezabezpieczonym rejestrze hostname.cloudapp.net:500
działa.
docker
docker-registry
EvgeniySharapov
źródło
źródło
Odpowiedzi:
(Kopiowanie odpowiedzi z pytania)
Aby dodać niezabezpieczony rejestr Dockera, dodaj plik
/etc/docker/daemon.json
o następującej zawartości:a następnie uruchom ponownie docker.
źródło
/etc/sysconfig/docker
jako jedną z opcji, np. Z instalacji Openshift:OPTIONS='--insecure-registry=172.30.0.0/16 --others [...]'
Na Suse-like, nie wiem.daemon.json
wersją pliku. Dzięki!/etc/docker/daemon.json
działa dobrze.Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
@mattUtworzenie pliku /etc/docker/daemon.json i dodanie poniższej zawartości, a następnie ponowne uruchomienie dockera w CentOS 7 rozwiązało problem.
źródło
Rozwiązanie z
/etc/docker/daemon.json
plikiem nie działało dla mnie na Ubuntu.Udało mi się skonfigurować niezabezpieczone rejestry Dockera na Ubuntu, podając opcje wiersza poleceń do demona Dockera w
/etc/default/docker
pliku, np .:W ten sam sposób można skonfigurować katalog niestandardowy dla obrazów platformy Docker i magazynu woluminów, domyślnych serwerów DNS itp.
Teraz, po ponownym uruchomieniu demona Dockera (po wykonaniu
sudo service docker restart
), uruchomieniedocker info
pokaże:źródło
Dla mnie rozwiązaniem było dodanie rejestru tutaj:
/ etc / sysconfig / docker-registries
źródło
Jeśli masz już plik config.json, to ostateczny plik powinien wyglądać mniej więcej tak ... Oto
registry.myprivate.com
ten, który sprawiał mi problemy.{ "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"] }
źródło
Zdarzyło mi się napotkać podobny problem po skonfigurowaniu lokalnego wewnętrznego rejestru JFrog Docker Private Registry na Amazon Linux.
Poniższe zrobiłem, aby rozwiązać problem:
Dodano „--insecure-register xx.xx.xx.xx: 8081”, modyfikując zmienną OPTIONS w pliku / etc / sysconfig / docker:
Następnie zrestartowałem docker.
Byłem wtedy w stanie zalogować się do lokalnego rejestru docker za pomocą:
źródło