> 백엔드 개발 > PHP 튜토리얼 > Docker: 개인 창고 구축

Docker: 개인 창고 구축

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-29 09:07:25
원래의
1217명이 탐색했습니다.

계속해서 이 기사에서는 개인 창고를 짓는 가장 간단한 단계를 설명합니다.

요약:

  1. 레지스트리 이미지를 설치하고 컨테이너를 시작합니다.
  2. CA 인증서(또 다른 방법은 HTTP를 직접 사용하는 방법이므로 이 단계는 생략 가능)
  3. 미러를 만들어 게시하세요.

레지스트리를 설치하는 가장 쉬운 방법은 미리 만들어진 레지스트리 이미지를 직접 가져오는 것입니다.

<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>
로그인 후 복사

이때 필연적으로 보고됨 보안 오류:
Docker: 개인 창고 구축

오류 설명에 따르면 해결 방법은 두 가지가 있는데, 하나는 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿