linux:podman:simple-container-registry

文書の過去の版を表示しています。


podman ローカル プライベート レジストリの構築

$ sudo dnf install -y podman httpd-tools

メタデータの期限切れの最終確認: 1:14:37 前の 2024年03月19日 06時13分34秒 に実施しました。
パッケージ podman-5:4.9.3-1.fc39.x86_64 は既にインストールされています。
パッケージ httpd-tools-2.4.58-1.fc39.x86_64 は既にインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました!

レジストリ用のディレクトリを作成🤔

$ sudo mkdir -p /var/lib/registry/{auth,certs,data} && sudo ls -al /var/lib/registry

合計 0
drwxr-xr-x  1 root root   26  3月 19 07:36 .
drwxr-xr-x. 1 root root 1042  3月 19 07:36 ..
drwxr-xr-x  1 root root    0  3月 19 07:36 auth
drwxr-xr-x  1 root root    0  3月 19 07:36 certs
drwxr-xr-x  1 root root    0  3月 19 07:36 data

レジストリ認証用の htpasswd ファイルを作成🤔

$ sudo htpasswd -cB /var/lib/registry/auth/htpasswd tomoyan

New password: password 入力
Re-type new password: 確認 password 入力
Adding password for user tomoyan

$ sudo bat -n /var/lib/registry/auth/htpasswd

   1 tomoyan:$2y$05$MO8AFjpgWM5mVvYxbDpeIeWntMr0jxkkQ6krWEZ04n39RA73F2PWC

htpasswd の使い方 🤤

$ htpasswd

Usage:
	htpasswd [-cimBdpsDv] [-C cost] passwordfile username
	htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password

	htpasswd -n[imBdps] [-C cost] username
	htpasswd -nb[mBdps] [-C cost] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -b  Use the password from the command line rather than prompting for it.
 -i  Read password from stdin without verification (for script usage).
 -m  Force MD5 encryption of the password (default).
 -2  Force SHA-256 crypt() hash of the password (very secure).
 -5  Force SHA-512 crypt() hash of the password (very secure).
 -B  Force bcrypt encryption of the password (very secure).
 -C  Set the computing time used for the bcrypt algorithm
     (higher is more secure but slower, default: 5, valid: 4 to 17).
 -r  Set the number of rounds used for the SHA-256, SHA-512 algorithms
     (higher is more secure but slower, default: 5000).
 -d  Force CRYPT encryption of the password (8 chars max, insecure).
 -s  Force SHA-1 encryption of the password (insecure).
 -p  Do not encrypt the password (plaintext, insecure).
 -D  Delete the specified user.
 -v  Verify password for the specified user.
On other systems than Windows and NetWare the '-p' flag will probably not work.
The SHA-1 algorithm does not use a salt and is less secure than the MD5 algorithm.

使用法:
	htpasswd [-cimBdpsDv] [-C cost] passwordfile username
	htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password

	htpasswd -n[imBdps] [-C cost] username
	htpasswd -nb[mBdps] [-C cost] username password
 -c  新しいファイルを作成します。
 -n  ファイルを更新しません。結果を標準出力に表示します。
 -b  パスワードを要求するのではなく、コマンドラインからパスワードを使用します。
 -i  検証なしで標準入力からパスワードを読み取ります (スクリプト使用のため)。
 -m  パスワードの MD5 暗号化を強制します (デフォルト)。
 -2  パスワードの SHA-256 crypt() ハッシュを強制します (非常に安全)。
 -5  パスワードの SHA-512 crypt() ハッシュを強制します (非常に安全)。
 -B  パスワードの bcrypt 暗号化を強制します (非常に安全です)。
 -C  bcrypt アルゴリズムに使用される計算時間を設定します。
     (値が高いほど安全ですが速度は遅くなります、デフォルト: 5、有効: 4 ~ 17)。
 -r  SHA-256、SHA-512 アルゴリズムに使用されるラウンド数を設定します。
     (値が高いほど安全性は高くなりますが、速度は遅くなります。デフォルト: 5000)。
 -d  パスワードの CRYPT 暗号化を強制します (最大 8 文字、安全ではありません)。
 -s  パスワードの SHA-1 暗号化を強制します (安全ではありません)。
 -p  パスワードを暗号化しません (平文、安全ではありません)。
 -D  指定したユーザーを削除します。
 -v  指定されたユーザーのパスワードを確認します。
Windows および NetWare 以外のシステムでは、'-p' はおそらくフラグは機能しないでしょう。
SHA-1 アルゴリズムはソルトを使用しないため、MD5 アルゴリズムよりも安全性が低くなります。

自己署名証明書の作成🤔

$ sudo openssl req -newkey rsa:4096 -nodes -sha256 -keyout /var/lib/registry/certs/domain.key \
-x509 -days 365 -out /var/lib/registry/certs/domain.crt  \
-subj "/CN=wicked-beat,wicked-beat.fireball.local" \
-addext "subjectAltName=DNS:wicked-beat,DNS:wicked-beat.fireball.local"

..+..........+..+......+.+.........+...........+......+....+.....+.........+.+++++++++++++++++++++++++++++++++++++++++++++*......+.+..+.......+......+..+...+....+..................+..+...+.+.........+..+.........+....+...+..+.+....................+.+......+..+.......+...........+...+.+.....+......+++++++++++++++++++++++++++++++++++++++++++++*...+............+...+++++
.....+.+.....+.........+......+...+..........+..+.+++++++++++++++++++++++++++++++++++++++++++++*..........+.......+..+..........+...+..+......+...+.......+.....+.......+.....+.+......+++++++++++++++++++++++++++++++++++++++++++++*....+.....+......+............+..........+...+...+..+.........+....+...........+......+...+..........+...............+............+............+.....+...+.......+...+............+.................+....+.....+.........+......+......+.+...+......+.....+.+.....+....+...+...+..+...+.......+..+.....................+.......+........+...+.+......+.................+.............+.........+...+..+........................+.......+...+..+++++
-----

作成された自己署名証明書の内容確認🤔

$ sudo openssl x509 -in /var/lib/registry/certs/domain.crt -text -noout

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            26:86:56:c8:1a:fa:0c:32:13:7b:87:54:10:de:66:12:98:f5:b6:28
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = "wicked-beat,wicked-beat.fireball.local"
        Validity
            Not Before: Mar 20 20:16:18 2024 GMT
            Not After : Mar 20 20:16:18 2025 GMT
        Subject: CN = "wicked-beat,wicked-beat.fireball.local"
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:99:f1:8c:dd:3b:6e:53:8a:1d:79:47:03:d8:48:
                    21:de:03:79:af:7c:0e:ff:e8:61:b2:48:45:a9:a5:
                    ee:bf:62:f5:c9:b3:9f:58:fd:8c:65:fa:bc:94:8c:
                    20:1e:c7:e7:3d:8b:e3:0a:79:9d:a5:9b:75:3e:bb:
                    3b:07:54:9b:0c:87:a5:c0:0c:43:c6:f9:4d:34:d0:
                    af:bc:61:7a:fc:df:2b:ac:d9:60:3b:72:40:c0:3c:
                    05:40:12:71:5c:f9:74:05:de:13:a3:0d:32:a2:cc:
                    95:d9:ea:36:cf:99:78:04:c1:95:bd:e4:68:07:1a:
                    80:26:9e:75:87:20:5d:a5:97:34:1f:2c:15:0b:cd:
                    68:99:42:35:07:aa:ec:3c:53:82:6f:f0:96:ec:de:
                    7a:65:4d:72:a9:cf:ed:28:f3:21:88:d2:2e:ec:02:
                    fd:8d:dc:39:e2:eb:a8:b3:72:6f:fa:69:09:7a:e7:
                    5e:85:97:41:f2:6b:e2:06:88:1d:6e:f7:e3:25:af:
                    4f:94:66:ca:b0:b8:4d:75:a0:12:99:53:4a:93:3e:
                    35:3c:b6:b5:bd:24:51:f8:50:a4:49:b7:63:27:98:
                    66:49:d7:cd:f5:0c:ac:73:b9:f4:bd:b1:20:dc:0b:
                    41:ff:60:dd:2b:bd:a4:74:10:3a:3b:07:ef:e2:08:
                    2a:30:41:aa:7b:07:50:54:bf:27:76:29:07:f5:c5:
                    f2:ed:0e:a1:7c:a6:43:9f:03:aa:3e:01:b4:3f:43:
                    6d:9e:61:a1:bf:5c:90:b1:2e:21:66:e8:e9:e9:0f:
                    fd:55:45:9e:a3:f8:02:f7:83:17:90:88:90:58:26:
                    52:7e:2f:26:5e:bb:58:37:03:13:65:9a:15:28:58:
                    c3:51:22:5f:88:ac:21:a7:7c:44:f5:52:bd:9a:28:
                    b9:d1:cb:10:78:5f:04:3b:0d:44:8f:39:a1:ae:0a:
                    44:a2:93:84:c0:42:88:84:f0:fc:3d:90:6f:98:b9:
                    80:40:b9:a0:51:b7:9f:d7:e1:6d:e1:0d:f3:88:e5:
                    46:6c:18:63:f3:8e:fd:84:5a:3d:05:76:16:da:25:
                    e1:39:de:11:ac:d0:fb:c2:9b:7e:6b:c0:42:59:ba:
                    0b:2a:11:9d:b4:0c:73:cb:c8:cb:e2:11:ff:9d:41:
                    49:57:56:6c:63:3c:3f:8e:3a:b1:3b:39:33:82:33:
                    0e:bb:bd:c1:0d:c6:26:fb:10:2f:cc:bd:ef:8b:b8:
                    c1:a8:b5:88:11:d1:bc:75:27:98:4b:e5:e5:13:2c:
                    55:e2:18:94:81:a8:1c:06:6f:ba:fb:be:4a:a1:a4:
                    41:f8:cb:9c:f2:98:43:85:ab:86:80:27:cc:10:b8:
                    ac:5b:41
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                B5:65:A6:BB:E7:BF:E4:DF:9E:E8:FF:FE:11:5D:80:72:FB:F6:CF:8B
            X509v3 Authority Key Identifier: 
                B5:65:A6:BB:E7:BF:E4:DF:9E:E8:FF:FE:11:5D:80:72:FB:F6:CF:8B
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Subject Alternative Name: 
                DNS:wicked-beat, DNS:wicked-beat.fireball.local
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        68:9e:7f:a9:17:6e:86:83:16:fb:2b:45:7b:20:bb:5b:7e:7e:
        c9:77:45:ce:f6:a2:05:c2:c5:cb:9f:22:2b:aa:90:2e:0d:e7:
        5a:6d:e9:09:24:3c:c8:1e:bd:43:14:c5:8c:45:0e:6d:66:93:
        85:6c:69:c8:63:e5:9c:20:4e:77:4f:6e:eb:cc:0e:10:ea:40:
        fb:be:41:32:e9:c9:c6:a9:93:f6:3e:9a:70:e0:57:1e:4c:2b:
        88:23:85:d9:bd:f6:95:40:cd:5f:0f:eb:8b:77:c3:09:f2:b1:
        f2:7d:02:0d:d6:ec:4d:eb:c4:13:b4:ba:9b:01:4a:ec:eb:79:
        0d:da:8d:e2:cc:93:d5:d5:f5:a4:45:4b:25:6a:ee:c1:73:bd:
        d5:f0:e7:59:1c:b5:e8:96:45:47:6e:8d:bd:ef:5b:06:19:7d:
        25:60:f4:56:f5:4f:5e:e1:52:15:df:e2:1c:60:f4:20:5e:7e:
        c8:7c:09:36:46:93:e8:7a:fa:3c:50:05:bc:8d:16:c6:50:f7:
        85:e0:8b:db:f7:6c:3f:17:b3:bf:ac:1d:98:b5:15:59:f1:89:
        4e:45:8b:ea:a5:fc:80:6f:fc:cd:da:2e:d6:4c:47:5c:5b:da:
        51:99:7f:87:80:ec:07:05:63:17:23:f0:f0:c7:d4:87:8a:fb:
        0d:ab:c6:c3:54:37:ad:66:a3:17:f0:27:80:99:39:70:9f:d8:
        8e:92:18:04:03:96:3c:6d:12:8c:1c:4f:a6:d2:3d:96:95:36:
        0f:4e:ba:12:da:fb:e9:bb:f7:27:d6:37:ce:52:98:40:2c:02:
        5a:77:41:85:e3:45:54:2d:23:38:cf:5e:34:13:21:e7:f6:83:
        36:1e:9b:9b:5f:bf:54:41:20:68:29:e4:1d:85:7e:8b:a3:39:
        07:d7:b6:79:a0:bd:09:b0:31:27:ba:ee:24:ac:f7:95:c8:5c:
        ac:e2:20:b6:8b:ea:7f:5a:45:15:76:5d:76:18:8e:b0:36:23:
        1f:31:2f:27:17:59:6d:37:0a:ea:bf:08:bc:db:1d:2a:e7:89:
        49:b1:7f:e8:1c:62:23:ed:cf:44:1a:97:df:d0:8b:8d:45:d1:
        0a:f2:cc:2e:ea:97:59:4e:13:45:d2:0d:ee:57:97:b4:aa:05:
        72:1b:29:14:47:bc:47:e4:2b:7c:73:bf:30:81:43:a2:88:e0:
        47:81:a7:06:42:7f:7e:35:83:33:c3:08:d2:58:a3:ad:9e:48:
        fe:45:49:e0:d3:e7:91:7c:c0:be:36:5f:c4:82:b2:90:5b:5b:
        ae:c7:0b:d1:19:72:15:2d:67:db:fe:b7:d0:46:c0:87:dc:c1:
        aa:e9:3b:ce:e8:5c:11:e0

ホストでの証明書の信頼🤔

$ sudo cp /var/lib/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/
$ sudo update-ca-trust
$ trust list | grep -i "wicked-beat"

    label: wicked-beat,wicked-beat.fireball.local

ホストのファイアウォールを設定🤔

$ sudo firewall-cmd --add-port=5000/tcp --zone=internal --permanent

success

$ sudo firewall-cmd --add-port=5000/tcp --zone=public --permanent

success

$ sudo firewall-cmd --reload

success

$ sudo podman run -d --restart always --name registry \                              
-p 5000:5000 \
-v /var/lib/registry/data:/var/lib/registry:z \
-v /var/lib/registry/auth:/auth:z \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /var/lib/registry/certs:/certs:z \
-e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" \
-e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" \
-e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
docker.io/library/registry:2.8.3

Trying to pull docker.io/library/registry:2.8.3...
Getting image source signatures
Copying blob 5daf2fb85fb9 done   | 
Copying blob 68c26f40ad80 done   | 
Copying blob 8f2a82336004 done   | 
Copying blob ca5f23059090 done   | 
Copying blob 619be1103602 done   | 
Copying config 9363667f8a done   | 
Writing manifest to image destination
304e2169d684ff81b5dd76f0de4a49035c73d1d7c70d59c4306feac5b66779be

registry Tags | Docker Hub で最新バージョンを確認できる🤔

レジストリへのアクセス確認🤔

$ curl -u tomoyan https://wicked-beat:5000/v2/_catalog

Enter host password for user 'tomoyan':
{"repositories":[]}

証明書の検証🤔

$ openssl s_client -connect wicked-beat:5000 -servername wicked-beat

CONNECTED(00000003)
depth=0 CN = "wicked-beat,wicked-beat.fireball.local"
verify return:1
---
Certificate chain
 0 s:CN = "wicked-beat,wicked-beat.fireball.local"
   i:CN = "wicked-beat,wicked-beat.fireball.local"
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 20 20:20:12 2024 GMT; NotAfter: Mar 20 20:20:12 2025 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFeTCCA2GgAwIBAgIUItMtxtFJlg4OwxuJ/3QYs5TB5JEwDQYJKoZIhvcNAQEL
BQAwMTEvMC0GA1UEAwwmd2lja2VkLWJlYXQsd2lja2VkLWJlYXQuZmlyZWJhbGwu
bG9jYWwwHhcNMjQwMzIwMjAyMDEyWhcNMjUwMzIwMjAyMDEyWjAxMS8wLQYDVQQD
DCZ3aWNrZWQtYmVhdCx3aWNrZWQtYmVhdC5maXJlYmFsbC5sb2NhbDCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAKU5eypWIT954zZW3oNHOjX1xtSv6yak
V7XVMHtQb9JlkbXLpR/QBHn/qrAPoq2itsRJFvyjlYt+pIHMq9eWxt426Jnyqsg7
XadYXmD6PfSgypNMmmEstt8bbsO8Qbq1dr7xmMS8pxSKnp2sFqLf+dhU6HdEHmJW
f2GhRqB8WU+d+qhxL4AJvd76Z/8G+fKHdlWOklH7YqXIU9oH869OOsVot2UROrkn
2vDth1TU1/Fv0Qs436xZ7OSpbC9Z9udP1r/ANFxXei3c3QzaoJkAIDTP4fVa+AbY
sPY6fVvhPFAxMQDf+Es9TVqrUqtYMYTYWjEjVPOvEU4MnQJVuz6TV9ZZeEi6c46C
yXgSnZEebq1SJiSG5/10CKg0ngVIGmlrNRzxZKYwAkbuAuAcsJ4YbOQSoOPam4qg
vmYmP/jiqgSfLWSTrSNmXp5qkPMvP3NtayMS2fZ0UUEVnVWmiY8jz3wS52zs8kUU
dOZ55Q+quKuR8DaS0OxlZeaPUfYFJs60VLkwN2oB0R70en1GE6eXu+3YunVN7AMJ
yIAl4xcZ3mLmdHvifvr8XZGiJk0oiic+nDOCHPm7mw0EXh54scRLHjOQyhnMXLOc
Bv7oxz82RFGjzfvuC9b3csyXfkP5BE88lNjkk3ScwCMZ3vleC8iFoVRqkEKjApkR
POevKCWSLxUFAgMBAAGjgYgwgYUwHQYDVR0OBBYEFD+/vezvjPaSqRot9zLNaqXl
NHwmMB8GA1UdIwQYMBaAFD+/vezvjPaSqRot9zLNaqXlNHwmMA8GA1UdEwEB/wQF
MAMBAf8wMgYDVR0RBCswKYILd2lja2VkLWJlYXSCGndpY2tlZC1iZWF0LmZpcmVi
YWxsLmxvY2FsMA0GCSqGSIb3DQEBCwUAA4ICAQBFURGP68S5V9UwEKLraWr0WR+i
7sGBvuEymDdGbS1ThyQTB7p7VCV5vC6TvtcR+IQYL2a/m1RaxjaqOjsbDJYtUREa
QGljZkJpB0kj/VeZUnPyW7T7e3Lkb/Pv/EWYhBNoSH9oKA6iJh7g7ch2ghqg9kvQ
TmHhrHLaQhLdES0pNpbPpQCL5Z0u9JThdW1chSGGbUIy+UNXrhndOrOwxp/CJzF9
plkli6ptDBSIsT/LRC8+Z5kU4t/yXXoMEePL97IDBlkkksbnEN4EN9RaE8K0NYHe
GxRHXvOKY/BBvA+6vS9PSKf6jvr01IQeLvC0E8FyrZmaCdFSg6Vxnq+qvgXLxsZn
T78wnHhUbFoZv8DriFAWWk3eC2Jh5wzWZ3WaaiGjICqPutZ8+IJ7J0vjnKwkEwU8
zH/Xo1YaQscxtIrytLtXPCTgcPAH6i9UZixplJpv2iVnhmL1ffvJ/JhZQr+dOTP4
cxfPCURtPtZtA6Vdd1DyScHJ4C3wZ9Eeo1OM6aEq7G7kaPGCCXRn/MIFAl0Q2dpE
BbSmv2VxfnnrBAhQN3bro/j+iDZb+hWSNc1OI/LuEo0UTAXZuXVTsfmiaCoW6QBc
I72x52OQk9dfvXp2yiXhTSjZVcqY2axwvdEm8dA7kBE+vImTbxUJYzGWetMo3n4a
oZEMw11w4NNmuw1fvw==
-----END CERTIFICATE-----
subject=CN = "wicked-beat,wicked-beat.fireball.local"
issuer=CN = "wicked-beat,wicked-beat.fireball.local"
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2201 bytes and written 379 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_CHACHA20_POLY1305_SHA256
Server public key is 4096 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_CHACHA20_POLY1305_SHA256
    Session-ID: A930863BF5140DE8683A6A979F0BA450D05FE1871A5DF7C41B21412014C626BB
    Session-ID-ctx: 
    Resumption PSK: 8A1A0CC8DBCD3534B4B3BD4572450A4DE453E6FB693AFCC8A371F8BAA22D33AE
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 604800 (seconds)
    TLS session ticket:
    0000 - 43 d1 3e 3d 52 05 5d 46-04 5a 5e 6c 78 f3 be 80   C.>=R.]F.Z^lx...
    0010 - 13 48 4b 79 4a df 76 2b-e0 29 5f 5b e1 81 e3 f6   .HKyJ.v+.)_[....
    0020 - 16 b3 4a 66 84 78 41 26-22 4b 5e a9 f6 0a 5f f6   ..Jf.xA&"K^..._.
    0030 - 84 45 b9 da 86 77 e2 cf-d6 ac bf c1 6b ac 9d 7d   .E...w......k..}
    0040 - d9 5a eb 61 9c e4 f6 8f-10 8e 0e 99 37 70 a5 75   .Z.a........7p.u
    0050 - 38 e0 3b f3 2f fa b9 fb-60 d4 82 6e 8a cb 55 56   8.;./...`..n..UV
    0060 - 49 5a 21 6f 1a 25 31 ca-26 c2 ce 22 00 0e a7 e1   IZ!o.%1.&.."....
    0070 - 28                                                (

    Start Time: 1710966295
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

レジストリにログインする🤔

$ podman login wicked-beat:5000 

Username: tomoyan
Password: 
Login Succeeded!

ログイン中の認証情報は /run/user/<gid>/containers/auth.json に base64 エンコードで保存されている🤔

$ bat -n /run/user/1000/containers/auth.json

   1 {
   2     "auths": {
   3         "wicked-beat:5000": {
   4             "auth": "aB1cd2efghiJklMnOPQ3STUv"
   5         }
   6     }
   7 }

レジストリからログアウトする🤔

$ podman logout wicked-beat:5000

Removed login credentials for wicked-beat:5000

$ bat -n /run/user/1000/containers/auth.json

   1 {
   2     "auths": {}
   3 }

ログインする🤔

$ podman login wicked-beat:5000

Username: tomoyan
Password: 
Login Succeeded!

  • linux/podman/simple-container-registry.1710971656.txt.gz
  • 最終更新: 2024/03/21 06:54
  • by ともやん