(ubuntu 기준)


/etc/init.d/docker 의 DOCKER_OPTS에 --insecure-registry 정보를 추가하라고 되어 있는 안내가 있던데, 해보니 안됨. 


/etc/default/docker 파일을 열어 아래와 같이 추가 후 docker를 다시 시작하면 됨.


DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=localhost:5000" 


음.. 어차피 같은 옵션 처리일텐데 왜 안되지. /etc/init.d/docker에 추가할 때 문법이 틀린거였나?? 알송달송...

  1. 2015.02.22 22:56

    비밀댓글입니다

    • 가끔.하늘 가온아 2015.03.06 16:11 신고

      제 블로그에 오시는 분들은 답글이 거의 없어서 있는지도 몰랐네요. 그 에러 저도 났던건데 로그 찾아보고 답글 달아드릴께요 혹시 원인 수정하셨으면 댓글로 알려주세요. ^^a 즐거운 주말 되세요.

    • 가끔.하늘 가온아 2015.03.09 14:05 신고

      아래와 같은 순서로 확인하셔서 댓글 달아주시면 같이 확인해 드리겠습니다.
      1. docker restart 확인
      2. 저장소 포트가 5000번인지 확인
      3. 원격 저장소 서버에서 5000 포트가 정상적으로 열려 있는지 확인 (방화벽 문제는 없는지, 없다면 telnet으로 접속되는지 확인 해보세요.)
      4. 모두 문제가 없다면 "http://www.pyrasis.com/Docker/Docker-HOWTO#section-14" 사이트의 "--insecure-registry 옵션" 부분을 찾으셔서 기록된 것 처럼 실행 시 옵션을 추가 해보시기 바랍니다.

      확인 후 답글 달아주시면 다시 확인 하겠습니다.

"가장 빨리 만나는 Docker" 책을 참고함.


구조는 아래와 같이 잡는다. 


(내부) docker-registry <---> nginx auth <---> (외부)docker daemon


기본 registry를 내려받아 실행.


sudo docker run -d --name docker-registry -v /tmp/registry:/tmp/registry registry:0.9.1

(* port는 nginx에서 redirect될거라 오픈할 필요는 없음.)


openssl로 key 제작


1. openssl genrsa -out 이름.key 2048

2. openssl req -new -key 이름.key -out.이름.csr  (작성시 도메인은  registry.test.com로 맞춰야 한다.)

3. openssl x509 -req -days 365 -in 이름.csr -signkey 이름.key -out 이름.crt


이 파일을 nginx 서버와 클라에서 아래 과정을 거쳐 인증서를 시스템에 설치한다.


1. cp 이름.crt /usr/share/ca-certificates/ (ca-certificates 폴더가 없다면 "sudo apt-get install curl")

2. echo "이름.crt" | tee -a /etc/ca-certificates.conf (설치할 인증서 목록에 추가함.)

3. update-ca-certificates (ca-certificates.conf에 포함된 내용을 참고로 인증서 설치)


 이후 도커 재시작 필요함.


nginx 서버는 아래와 같이 실행할 것! (이걸 실행 후 openssl 처리해야 할 걸.)


sudo docker run --name reg-auth \

 -p 443:443 \

 -d  \

 -v /rs2m/data:/data \

 -v /rs2m/data/nginx.conf:/etc/nginx/nginx.conf \

 -v /rs2m/data/이름.crt:/etc/이름.crt \

 -v /rs2m/data/이름.key:/etc/이름.key \

 -v /rs2m/data/.htpasswd:/etc/nginx/.htpasswd \

 --link docker-registry:docker-registry \

 nginx:1.7.9


nginx.conf는 아래와 같이 !!


worker_processes  1;


events{

    worker_connections   1024;

}


http{

    server{

        listen 443 ssl;

        server_name registry.test.com


        ssl on;

        ssl_certificate /etc/rs2m_reg.crt;

        ssl_certificate_key /etc/rs2m_reg.key;


        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Authorization "";

        proxy_redirect http:// https://;


        client_max_body_size 0;

        chunked_transfer_encoding on;


        location / {

            proxy_pass http://rs2m-reg:5000;

            auth_basic "Restricted";

            auth_basic_user_file /etc/nginx/.htpasswd;

        }

    }

}


+ Recent posts