Podman : Registry を利用する2024/02/29 |
Registry をインストールして、コンテナーイメージのプライベートレジストリーサーバーを構築します。
|
|
[1] | Registry をインストールします。 |
root@dlp:~ # pkg install -y docker-registry
|
[2] | Registry の設定です。 HTTP 通信 且つ 認証なしの場合の設定です。 |
root@dlp:~ #
vi /usr/local/etc/docker-registry/config.yml # [auth] セクションはコメント化 version: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] #auth: # htpasswd: # realm: basic-realm # path: /etc/registry health: storagedriver: enabled: true interval: 10s threshold: 3
root@dlp:~ #
root@dlp:~ # service docker_registry enable registry enabled in /etc/rc.conf root@dlp:~ # service docker_registry start
podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/freebsd-nginx latest a0a053cc78a3 17 hours ago 1.17 GB localhost/freebsd-httpd latest add46dedb2b7 23 hours ago 1.44 GB localhost/freebsd-base latest 2527bfa5eeb4 43 hours ago 1.05 GB quay.io/centos/centos stream9 ce3ac91d4020 2 weeks ago 161 MB docker.io/library/ubuntu latest 3db8720ecbf5 2 weeks ago 80.4 MB # ローカルホストから [push] root@dlp:~ # podman tag localhost/freebsd-base dlp.srv.world:5000/freebsd-base:my-registry root@dlp:~ # podman push dlp.srv.world:5000/freebsd-base:my-registry --tls-verify=false Getting image source signatures Copying blob e08c67379022 done | Copying config 2527bfa5ee done | Writing manifest to image destinationroot@dlp:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/freebsd-nginx latest a0a053cc78a3 17 hours ago 1.17 GB localhost/freebsd-httpd latest add46dedb2b7 23 hours ago 1.44 GB localhost/freebsd-base latest 2527bfa5eeb4 43 hours ago 1.05 GB dlp.srv.world:5000/freebsd-base my-registry 2527bfa5eeb4 43 hours ago 1.05 GB quay.io/centos/centos stream9 ce3ac91d4020 2 weeks ago 161 MB docker.io/library/ubuntu latest 3db8720ecbf5 2 weeks ago 80.4 MB # リモートホストから [pull] root@node01:~ # podman pull dlp.srv.world:5000/freebsd-base:my-registry --tls-verify=false root@node01:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/freebsd-base my-registry 2527bfa5eeb4 43 hours ago 1.05 GB |
[3] | Basic 認証を有効にする場合は以下のように設定します。 |
root@dlp:~ #
pkg install -y apache24
root@dlp:~ #
vi /usr/local/etc/docker-registry/config.yml # [auth] セクションをコメント解除して [path] 変更
auth:
htpasswd:
realm: basic-realm
path: /usr/local/etc/containers/.htpasswd
root@dlp:~ #
service docker_registry restart
# 任意のユーザー登録 # [-B] ⇒ bcrypt を使用する : registry は bcrypt のみサポート # [-c] ⇒ オプションは新規ファイル作成のため初回のみ付与 root@dlp:~ # htpasswd -B -c /usr/local/etc/containers/.htpasswd freebsd
# 任意のノードでアクセス確認 # 認証していない場合はエラー root@node01:~ # podman pull dlp.srv.world:5000/freebsd-base:my-registry --tls-verify=false Trying to pull dlp.srv.world:5000/freebsd-base:my-registry... Error: initializing source docker://dlp.srv.world:5000/freebsd-base:my-registry: reading manifest my-registry in dlp.srv.world:5000/freebsd-base: StatusCode: 400, # [htpasswd] で登録したユーザーで認証 root@node01:~ # podman login dlp.srv.world:5000 --tls-verify=false
Username: freebsd
Password:
Login Succeeded!
root@node01:~ # podman pull dlp.srv.world:5000/freebsd-base:my-registry --tls-verify=false root@node01:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/freebsd-base my-registry 2527bfa5eeb4 44 hours ago 1.05 GB |
[4] | HTTPS でアクセスする場合 且つ Let's Encrypt 等から取得した有効な SSL/TLS 証明書
を使用する場合は以下のように設定します。 当例では、SSL 証明書はリンク先の例のように [/usr/local/etc/letsencrypt/live/dlp.srv.world] 配下に取得している前提で進めます。 |
root@dlp:~ # cp -p /usr/local/etc/letsencrypt/live/dlp.srv.world/*.pem /usr/local/etc/containers/certs.d/
root@dlp:~ #
vi /usr/local/etc/docker-registry/config.yml # [http] セクション配下に [tls] セクションを追記して証明書を指定
.....
.....
http:
addr: :5000
tls:
certificate: /usr/local/etc/containers/certs.d/fullchain.pem
key: /usr/local/etc/containers/certs.d/privkey.pem
.....
.....
root@dlp:~ #
service docker_registry restart
# 任意のノードでアクセス確認 root@node01:~ # podman pull dlp.srv.world:5000/freebsd-base:my-registry root@node01:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/freebsd-base my-registry 2527bfa5eeb4 44 hours ago 1.05 GB |
Sponsored Link |
|