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"'
데몬을로드하고 docker 서비스를 다시 시작한 후 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" ]
}
그런 다음 Docker를 다시 시작하십시오.
sudo systemctl daemon-reload
sudo systemctl restart docker
그 후 안전하지 않은 레지스트리가 hostname.cloudapp.net:500
작동합니다.