#author("2018-08-30T17:29:02+09:00","","")

#author("2018-08-30T17:30:39+09:00","","")

[[CentOS7]]

*Docker : Docker-Registry を利用する [#o7db8f4e]
Docker Private Registry を設定して、自身のローカル環境に Docker イメージを保存します。

Registry 用のイメージが公式から提供されているため、イメージを Pull して 容易に Private Registry を構築できます。
下記設定の場合、イメージは ローカル環境の [/var/lib/registry] 配下に保存されます。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# docker run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always --name registry registry:2| 

|[root@localhost ~]# docker run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always --name registry registry:2|

|Trying to pull repository docker.io/library/registry ... &br; 2: Pulling from docker.io/library/registry &br; 81033e7c1d6a: Pull complete &br; Status: Downloaded newer image for docker.io/registry:2 &br; 5188ec6904756070138edfc49d4c0f231841bfbdd620556a85eb44b201b37b31|
|[root@localhost ~]# docker ps|
|CONTAINER ID  IMAGE      COMMAND                 CREATED     STATUS        PORTS                  NAMES &br; 

5188ec690475  registry:2 "/entrypoint.sh /e..."  16 sec ago Up 14 seconds  0.0.0.0:5000->5000/tcp registry|

|CONTAINER ID  IMAGE      COMMAND                 CREATED     STATUS        PORTS                  NAMES &br; 5188ec690475  registry:2 "/entrypoint.sh /e..."  16 sec ago Up 14 seconds  0.0.0.0:5000->5000/tcp registry|




任意の Docker クライアントからプライベートレジストリを利用するにあたり、デフォルトでは HTTPS でアクセスするためエラーとなります。そのため HTTP でアクセスするには Docker クライアント上での設定変更が必要です。

|BGCOLOR(black):COLOR(white):|c
|[root@node01 ~]# vi /etc/sysconfig/docker|
|&color(lime){# 4行目:Docker-Registry サーバーの URL を追記};|
|OPTIONS='--insecure-registry centos.hoge.com:5000 --selinux-enabled --log-driver=journald.....'|
|[root@node01 ~]# systemctl restart docker|



任意の Docker ノードのローカルイメージをプライベートレジストリに Push/Pull するには以下のように実行します。

|BGCOLOR(black):COLOR(white):|c
|[root@node01 ~]# docker images|
|REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE &br; docker.io/centos    latest              e934aafc2206        9 days ago          199 MB|
|&color(lime){# タグ付けをして push する};|
|[root@node01 ~]# docker tag centos centos.hoge.com:5000/centos|
|[root@node01 ~]# docker push centos.hoge.com:5000/centos|
|The push refers to a repository [centos.hoge.com:5000/centos] &br; 43e653f84b79: Pushed &br; latest: digest: sha256:191c883e479a7da2362b2d54c0840b2e8981e5ab62e11ab925abf8808d3d5d44 size: 529|
|[root@node01 ~]# docker images|
|REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE &br; docker.io/centos            latest              e934aafc2206        9 days ago          199 MB &br; centos.hoge.com:5000/centos   latest              e934aafc2206        9 days ago          199 MB|
|&color(lime){# 一旦イメージを削除して Pull 可能か確認};|
|[root@node01 ~]# docker rmi docker.io/centos|
|[root@node01 ~]# docker rmi centos.hoge.com:5000/centos|
|[root@node01 ~]# docker images|
|REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE|
|[root@node01 ~]# docker pull centos.hoge.com:5000/centos|
|Using default tag: latest &br; Trying to pull repository centos.hoge.com:5000/centos ... &br; latest: Pulling from centos.hoge.com:5000/centos &br; 469cfcc7a4b3: Pull complete &br; Digest: sha256:191c883e479a7da2362b2d54c0840b2e8981e5ab62e11ab925abf8808d3d5d44 &br; Status: Downloaded newer image for centos.hoge.com:5000/centos:latest|
|[root@node01 ~]# docker images|
|REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE &br; centos.hoge.com:5000/centos   latest              e934aafc2206        9 days ago          199 MB|

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