#author("2018-08-30T18:27:46+09:00","","")

#author("2018-08-30T18:28:17+09:00","","")

[[CentOS7]]

*Docker : Docker-Registry (認証) [#e07ca998]

ユーザー認証を要求する Docker Private Registry を設定します。

Registry Pod を起動するホストで [[こちらを参考>SSL証明書 Let’s Encryptをインストール]]に SSL証明書を取得しておきます。

**認証ユーザー登録用に htpasswd をインストールします。 [#kad955ab]

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# yum -y install httpd-tools|

任意のユーザーを登録します。
|BGCOLOR(black):COLOR(white):|c

|[root@localhost ~]# htpasswd -Bc /etc/docker/.htpasswd admin|
|New password: &br; Re-type new password: &br; Adding password for user admin|

Registry ノード上の [/etc/letsencrypt/live/(FQDN)] 配下に証明書を取得しているものとして進めます。
上記で作成した認証ファイルと証明書を指定して Registry を起動します。

|BGCOLOR(black):COLOR(white):|c

|[root@localhost ~]# cp /etc/letsencrypt/live/centos.hoge.com/fullchain.pem /etc/docker/certs.d/server.crt|
|[root@localhost ~]# cp /etc/letsencrypt/live/centos.hoge.com/privkey.pem /etc/docker/certs.d/server.key|
|[root@localhost ~]# docker run -d -p 5000:5000 --restart=always --name registry \ &br; -v /var/lib/registry:/var/lib/registry \ &br; -v /etc/docker/certs.d:/certs \ &br; -v /etc/docker:/auth \ &br; -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server.crt \ &br; -e REGISTRY_HTTP_TLS_KEY=/certs/server.key \ &br; -e REGISTRY_AUTH=htpasswd \ &br; -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd \ &br; -e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \ &br; registry:2  &br; Trying to pull repository docker.io/library/registry ... &br; 2: Pulling from docker.io/library/registry &br; Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54 &br; Status: Downloaded newer image for docker.io/registry:2|
|[root@localhost ~]# docker ps|
|CONTAINER ID IMAGE      COMMAND                CREATED  STATUS     PORTS                  NAMES &br; db00df47085f registry:2 "/entrypoint.sh /e..." 31 sec   Up 29 sec  0.0.0.0:5000->5000/tcp registry|



任意の Docker ノードからプライベートレジストリに認証して Push/Pull するには以下のように実行します。


|BGCOLOR(black):COLOR(white):|c

|&color(lightpink){# 登録したユーザーで認証};|
|[root@node01 ~]# docker login centos.hoge.com:5000|
|Username: admin &br; Password: &br; Login Succeeded|
|[root@node01 ~]# docker images &br; REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE &br; docker.io/nginx     latest              b175e7467d66        6 days ago          109 MB|
|[root@node01 ~]# docker tag nginx centos.hoge.com:5000/nginx|
|[root@node01 ~]# docker push centos.hoge.com:5000/nginx|
|The push refers to a repository [centos.hoge.com:5000/nginx] &br; 77e23640b533: Pushed &br; 757d7bb101da: Pushed &br; 3358360aedad: Pushed &br; latest: digest: sha256:d903fe3076f89ad76afe1cbd0e476d9692d79b3835895b5b3541654c85422bf1 size: 948|
|[root@node01 ~]# docker images|
|REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE &br; docker.io/nginx            latest              b175e7467d66        6 days ago          109 MB &br; centos.hoge.com:5000/nginx   latest              b175e7467d66        6 days ago          109 MB|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS