CentOS 7
Sponsored Link

Docker : Docker-Registry を利用する#2
2015/12/17
 
Docker-Registry へ HTTPS アクセスする場合の設定です。当例では httpd と組み合わせる場合の設定をします。
[1]
Docker-Registry サーバー上で、こちらを参考に SSL証明書を作成しておきます
[2] 各 Docker ノードで /etc/docker/certs.d 配下に証明書作成で指定した Common Name と同じ名前のディレクトリを作成し、 そのディレクトリに [1] で作成した xxx.crt を転送コピーします。自己証明書の場合はさらに ca-bundle.crt も転送コピーしておきます。
[root@node01 ~]#
ll /etc/docker/certs.d/dlp.srv.world

total 268
-r--r--r-- 1 root root 266702 Dec 18 11:09 ca-bundle.crt
-rw-r--r-- 1 root root   1334 Dec 18 11:09 server.crt

[root@node01 ~]#
vi /etc/sysconfig/docker
# 23行目:コメントにする

#
INSECURE_REGISTRY='--insecure-registry dlp.srv.world:5000'
[root@node01 ~]#
systemctl restart docker
[3]
[4]
[5] Docker-Registry サーバーで追加設定します。
[root@dlp ~]#
vi /etc/httpd/conf.d/docker-registry.conf
# 新規作成

ProxyRequests off
ProxyPreserveHost on
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
<Location />
    AuthType Basic
    AuthName "Basic Authentication"
    AuthUserFile /etc/httpd/conf/.htpasswd
    require valid-user
</Location>

[root@dlp ~]#
htpasswd -c /etc/httpd/conf/.htpasswd cent

New password:
Re-type new password:
Adding password for user cent
[root@dlp ~]#
systemctl restart httpd
[6] 以上で Docker ノードからの HTTPS アクセスが可能です。
# htpasswd で追加したユーザーでログイン

[root@node01 ~]#
docker login dlp.srv.world

Username:
cent

Password:
Email:
WARNING: login credentials saved in /root/.docker/config.json
Login Succeeded
[root@node01 ~]#
docker tag web_server dlp.srv.world/webserver

[root@node01 ~]#
docker push dlp.srv.world/webserver

[root@node01 ~]#
docker search dlp.srv.world/web

INDEX          NAME                                 DESCRIPTION   STARS     OFFICIAL   AUTOMATED
srv.world   dlp.srv.world/library/webserver                 0
 
Tweet