https://github.com/docker/docker-registry 에서 가져온 이미지를 사용하여 개인 도커 레지스트리를 설정하려고합니다.
다음을 실행하면됩니다.
docker run -p 5000:5000 registry
localhost에서만이 리포지토리를 가져 오거나 내보낼 수 있지만 다른 컴퓨터에서 액세스하려고하면 (동일한 LAN의 개인 주소를 사용하여) 오류 메시지와 함께 실패합니다.
*2014/11/03 09:49:04 Error: Invalid registry endpoint https ://10.0.0.26:5000/v1/':
Get https:// 10.0.0.26:5000/v1/_ping: Forbidden. If this private
registry supports only HTTP or HTTPS with an unknown CA certificate,
please add `--insecure-registry 10.0.0.26:5000` to the daemon's
arguments. In the case of HTTPS, if you have access to the registry's
CA certificate, no need for the flag; simply place the CA certificate
at /etc/docker/certs.d/10.0.0.26:5000/ca.crt*
어떤 날 미치게하는 것은 내가 사용 성공적으로 액세스 할 수 있습니다 :를
curl 10.0.0.26:5000
및 / 또는curl 10.0.0.26:5000/v1/search
나는 또한 --insecure-registry
깃발을 어디에서 어떻게 통과해야하는지 이해하지 못합니다 .
답변
OK-나는 이것에 대한 해결책을 찾았습니다.
1.12.1 미만의 도커의 경우 :
새 클라이언트 버전은 SSL이없는 개인 레지스트리 작업을 거부합니다.
이 문제를 해결하려면 클라이언트 시스템의 데몬이 안전하지 않은 플래그로 시작되어야합니다.
다음을 입력하십시오.
sudo service docker stop # to stop the service
그리고
sudo docker -d --insecure-registry 10.0.0.26:5000
( 10.0.0.26
자신의 IP 주소로 대체하십시오 ).
docker 녀석이 pull / push 명령 줄에이 옵션을 추가 할 것으로 예상합니다.
편집-대체- DOCKER_OPTS
/ etc / default / docker … 안의 env 변수에 플래그를 추가 할 수 있습니다.sudo service docker restart
다시 편집하십시오-docker 사람이있는 것 같습니다-곧 수정 될 것입니다 :
https://github.com/docker/docker/pull/8935
Docker 1.12.1의 경우 :
vikas027의 답변 아래를 따르십시오 (centos에 유효)
답변
이것이 CentOS 7.2 및 Docker 1.12.1 (최신 날짜) 에서 저에게 효과적 이었습니다. 내 개인 레지스트리 v2가에서 실행 중 이었으므로 192.168.1.88:5000
그에 따라 변경하십시오. 레지스트리가 여러 개인 경우에도 작동합니다.--insecure-registry IP:Port
$ sudo vim /usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.88:5000
$
$ sudo systemctl stop docker
$ sudo systemctl daemon-reload
$ systemctl start docker
답변
구성 파일 “/ etc / default / docker”편집
sudo vi / etc / default / docker
파일 끝에 줄 추가
DOCKER_OPTS = “$ DOCKER_OPTS –insecure-registry = 192.168.2.170 : 5000”
(192.168.2.170을 자신의 IP 주소로 대체하십시오)
도커 서비스를 다시 시작하십시오.
sudo 서비스 도커 다시 시작
답변
Docker 서비스 자체가 구성되는 방법에 대해 논의 할 때 다음이 매우 유용하다는 것을 알았습니다. https://docs.docker.com/articles/systemd/
systemctl 명령에 대한이 기사와 함께 https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units
“docker pull registry : 2.1.1″에서 얻은 레지스트리 이미지와 함께 Centos 7 기반 컨테이너에서 다음과 같은 일련의 명령을 사용했습니다.
sudo mkdir -p /etc/systemd/system/docker.service.d
cd /etc/systemd/system/docker.service.d
sudo touch override.conf
sudo nano override.conf
그리고 override.conf 안에 다음이 추가되었습니다.
[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry 10.2.3.4:5000
첫 번째 비어있는 ExecStart =는 이미 제자리에있는 모든 항목을 지우므로 유지하려는 /usr/lib/systemd/system/docker.service ExecStart = 문에서 모든 항목을 추가해야합니다.
-d (daemon) 옵션을 지정하지 않으면 “Please specify only one -H”오류가 발생합니다.
다음과 같은 일련의 명령을 실행 한 후 제 위치에있는 재정의를 볼 수 있습니다.
sudo systemctl stop docker
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Drop-In: /etc/systemd/system/docker.service.d
└─override.conf
Active: active (running) since Thu 2015-09-17 13:37:34 AEST; 7s ago
Docs: https://docs.docker.com
Main PID: 5697 (docker)
CGroup: /system.slice/docker.service
└─5697 /usr/bin/docker -d -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry 10.2.3.4:5000
참고 : 상태 메시지의 Loaded : 및 Drop-In : 줄에서 제공하는 정보는 기존 docker 데몬이 작동하는 상황을 확인하는 데 유용합니다.
참고 : 추가 단서를 보려면 Loaded : docker.service 파일에서 EnvironmentFile =을 확인하십시오.
답변
확인. 다음은 내가 작동하게하는 방법입니다. docker 1.3.2 이상에서이 오류가 표시되면 다음을 수행하십시오.
이동 /etc/sysconfig/docker
other_args="--insecure-registry 10.0.0.26:5000"
그리고 실행
sudo service docker restart
답변
다음 명령을 사용하여 {YOUR_REGISTRY}를 레지스트리로 바꿉니다.
boot2docker ssh "echo $'EXTRA_ARGS=\"--insecure-registry {YOUR_REGISTRY}\"' | sudo tee -a /var/lib/boot2docker/profile && sudo /etc/init.d/docker restart"
답변
docker.service 파일 편집, -d 플래그 뒤에 –insecure-registry xxxx 추가, docker 다시 시작
이것이 나를 위해 일한 유일한 것입니다. DOCKER_OPTS는 효과가 없었습니다.