계속해서 이 기사에서는 개인 창고를 짓는 가장 간단한 단계를 설명합니다.
요약:
레지스트리를 설치하는 가장 쉬운 방법은 미리 만들어진 레지스트리 이미지를 직접 가져오는 것입니다.
<code>docker pull registry</code>
그럼 실행해 보세요.
<code>docker run <span>-p</span><span>5000</span>:<span>5000</span><span>-v</span> /home/registry:/tmp/registry registry</code>
포트 5000을 외부 서비스에 노출시키는 동시에 호스트의 /home/registry 디렉터리를 웨어하우스 디렉터리로 로드합니다.
이제 자신의 이미지를 이 웨어하우스에 푸시할 수 있습니다. 먼저 이미지에 태그를 지정한 다음 PUSH 명령을 수행해야 합니다.
<code>docker tag java:<span>7</span>-jre hub<span>.wo</span><span>.cn</span>/yancheng/java docker <span>push</span> hub<span>.wo</span><span>.cn</span>/yancheng/java</code>
이때 필연적으로 보고됨 보안 오류:
오류 설명에 따르면 해결 방법은 두 가지가 있는데, 하나는 HTTP를 사용하는 것이고, 다른 하나는 CA 인증서를 설치하는 것입니다.
방법 1, HTTP로 구성하면 조금 더 빠르고 간단해집니다. /etc/default/docker 파일을 수정하고
<code>DOCKER_OPTS=<span>"<span>$DOCKER_OPTS</span> --insecure-registry=hub.open.wo.cn"</span></code>
문장을 추가한 다음 Docker를 다시 시작하면 sudo service docker restart
정상적으로 푸시할 수 있습니다.
보안 인증서를 구성하는 방법 2는 약간 번거롭습니다. 특히 Docker 레지스트리가 nginx 뒤에 있기 때문에 더욱 그렇습니다.
먼저 자체 인증서를 생성해야 합니다(서버에서 작동). 명령은 다음과 같습니다.
<code>openssl genrsa -des3 -<span>out</span> hub<span>.key</span><span>2048</span> openssl rsa -<span>in</span> hub<span>.key</span> -<span>out</span> hub_nopwd<span>.key</span> openssl req -new -key hub_nopwd<span>.key</span> -<span>out</span> hub<span>.csr</span> openssl x509 -req -days <span>3650</span> -<span>in</span> hub<span>.csr</span> -signkey hub_nopwd<span>.key</span> -<span>out</span> hub<span>.crt</span></code>
그런 다음 HTTPS 지원을 추가하도록 Nginx를 구성합니다.
<code>server { listen <span>443</span>; server_name hub<span>.</span>wo<span>.</span><span>cn</span>; ssl <span>on</span>; ssl_certificate /usr/<span>local</span>/nginx/conf/hub<span>.</span>crt; ssl_certificate_key /usr/<span>local</span>/nginx/conf/hub_nopwd<span>.</span>key; location <span>/</span> { proxy_pass http:<span>//10.250.251.20:5000;</span> proxy_redirect off; proxy_set_header Host <span>$host</span>; proxy_set_header x<span>-forwarded</span><span>-for</span><span>$remote_addr</span>; } }</code>
hub.crt와hub_nopwd.key의 위치에 주의하세요. nginx를 다시 시작하십시오.
이제 이 허브.crt를 로컬로 가져와서 이전 스크린샷의 프롬프트에 따라 해당 디렉터리에 넣어야 합니다. 즉, /etc/docker/certs.d/hub.open.wo.cn
입니다.
Docker를 다시 시작하면 푸시가 정상적으로 됩니다.
').addClass('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });위에서는 Docker: 개인 창고 건설에 대한 내용을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.