両方とも前のリビジョン 前のリビジョン 次のリビジョン 前のリビジョン linux:podman:simple-container-registry [2024/03/21 07:44] – [レジストリ構築] ともやん linux:podman:simple-container-registry [2025/03/17 09:43] (現在) – [レジストリ構築] ともやん
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">dnf</font> install <font color="#A347BA">-y</font> podman httpd-tools <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">dnf</font> install <font color="#A347BA">-y</font> podman httpd-tools
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">mkdir</font> <font color="#A347BA">-p</font> /var/lib/registry/<font color="#12488B"><b>{</b></font>auth,certs,data<font color="#12488B"><b>}</b></font> <font color="#12488B"><b>&&</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">ls</font> <font color="#A347BA">-al</font> /var/lib/registry <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">mkdir</font> <font color="#A347BA">-p</font> /var/lib/registry/<font color="#12488B"><b>{</b></font>auth,certs,data<font color="#12488B"><b>}</b></font> <font color="#12488B"><b>&&</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">ls</font> <font color="#A347BA">-al</font> /var/lib/registry
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">htpasswd</font> <font color="#A347BA">-cB</font> /var/lib/registry/auth/htpasswd tomoyan <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">htpasswd</font> <font color="#A347BA">-cB</font> /var/lib/registry/auth/htpasswd tomoyan
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/var/lib/registry/auth/htpasswd</u> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/var/lib/registry/auth/htpasswd</u>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">htpasswd</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269">htpasswd</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP group> <WRAP group>
</WRAP><!-- tip --> </WRAP><!-- tip -->
自己署名証明書の作成🤔\\ 自己署名 SSL 証明書の作成🤔\\
ここではファイル名 wicked-beat.crt を作成する \\
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">openssl</font> req <font color="#A347BA">-newkey</font> rsa:4096 <font color="#A347BA">-nodes</font> <font color="#A347BA">-sha256</font> <font color="#A347BA">-keyout</font> <u style="text-decoration-style:single">/var/lib/registry/certs/domain .key</u> \ <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">openssl</font> req <font color="#A347BA">-newkey</font> rsa:4096 <font color="#A347BA">-nodes</font> <font color="#A347BA">-sha256</font> <font color="#A347BA">-keyout</font> <u style="text-decoration-style:single">/var/lib/registry/certs/wicked-beat .key</u> \
<font color="#A347BA">-x509</font> <font color="#A347BA">-days</font> 365 <font color="#A347BA">-out</font> <u style="text-decoration-style:single">/var/lib/registry/certs/domain .crt</u> \ <font color="#A347BA">-x509</font> <font color="#A347BA">-days</font> 365 <font color="#A347BA">-out</font> <u style="text-decoration-style:single">/var/lib/registry/certs/wicked-beat .crt</u> \
<font color="#A347BA">-subj</font> <font color="#A2734C">"/CN=wicked-beat,wicked-beat.fireball.local "</font> \ <font color="#A347BA">-subj</font> <font color="#A2734C">"/CN=localhost, wicked-beat,wicked-beat.fireball.lan "</font> \
<font color="#A347BA">-addext</font> <font color="#A2734C">"subjectAltName=DNS:wicked-beat,DNS:wicked-beat.fireball.local "</font> <font color="#A347BA">-addext</font> <font color="#A2734C">"subjectAltName=DNS:localhost, DNS:wicked-beat,DNS:wicked-beat.fireball.lan "</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre>..+..........+..+......+.+.........+...........+......+....+.....+.........+.+++++++++++++++++++++++++++++++++++++++++++++*......+.+..+.......+......+..+...+....+..................+..+...+.+.........+..+.........+....+...+..+.+....................+.+......+..+.......+...........+...+.+.....+......+++++++++++++++++++++++++++++++++++++++++++++*...+............+...+++++ <WRAP color_result><html><pre>..+..........+..+......+.+.........+...........+......+....+.....+.........+.+++++++++++++++++++++++++++++++++++++++++++++*......+.+..+.......+......+..+...+....+..................+..+...+.+.........+..+.........+....+...+..+.+....................+.+......+..+.......+...........+...+.+.....+......+++++++++++++++++++++++++++++++++++++++++++++*...+............+...+++++
</WRAP> </WRAP>
作成された自己署名証明書の内容確認🤔\\ 作成された自己署名 SSL 証明書の内容確認🤔\\
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">openssl</font> x<font color="#999999">509 </font><font color="#A347BA">-in</font><font color="#999999"> </font><font color="#999999"><u style="text-decoration-style:single">/var/lib/registry/certs/domain .crt</u></font><font color="#999999"> </font><font color="#A347BA">-text</font><font color="#999999"> </font><font color="#A347BA">-noout</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">openssl</font> x<font color="#999999">509 </font><font color="#A347BA">-in</font><font color="#999999"> </font><font color="#999999"><u style="text-decoration-style:single">/var/lib/registry/certs/wicked-beat .crt</u></font><font color="#999999"> </font><font color="#A347BA">-text</font><font color="#999999"> </font><font color="#A347BA">-noout</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result_long><html><pre>Certificate: <WRAP color_result_long><html><pre>Certificate:
26:86:56:c8:1a:fa:0c:32:13:7b:87:54:10:de:66:12:98:f5:b6:28 26:86:56:c8:1a:fa:0c:32:13:7b:87:54:10:de:66:12:98:f5:b6:28
Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
Issuer: CN = "wicked-beat,wicked-beat.fireball.local" Issuer: CN = "localhost, wicked-beat,wicked-beat.fireball.local"
Validity Validity
Not Before: Mar 20 20:16:18 2024 GMT Not Before: Mar 20 20:16:18 2024 GMT
Not After : Mar 20 20:16:18 2025 GMT Not After : Mar 20 20:16:18 2025 GMT
Subject: CN = "wicked-beat,wicked-beat.fireball.local " <b class=DiYE> Subject: CN = "localhost, wicked-beat,wicked-beat.fireball.lan "</b>
Subject Public Key Info: Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public Key Algorithm: rsaEncryption
CA:TRUE CA:TRUE
<b class=DiYE>X509v3 Subject Alternative Name: <b class=DiYE>X509v3 Subject Alternative Name:
DNS:wicked-beat, DNS:wicked-beat.fireball.local </b> DNS:localhost, DNS:wicked-beat, DNS:wicked-beat.fireball.lan </b>
Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
Signature Value: Signature Value:
</WRAP> </WRAP>
ホストでの証明書の信頼🤔\\ クライアント/ ホストでの SSL 証明書の信頼🤔\\
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">cp</font> <u style="text-decoration-style:single">/var/lib/registry/certs/domain .crt</u> <u style="text-decoration-style:single">/etc/pki/ca-trust/source/anchors/</u> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">cp</font> <u style="text-decoration-style:single">/var/lib/registry/certs/wicked-beat .crt</u> <u style="text-decoration-style:single">/etc/pki/ca-trust/source/anchors/</u>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">update-ca-trust</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">update-ca-trust</font>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">trust</font> list <font color="#12488B"><b>|</b></font> <font color="#26A269">grep</font> <font color="#A347BA">-i</font> <font color="#A2734C">"wicked-beat"</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269">trust</font> list <font color="#12488B"><b>|</b></font> <font color="#26A269">grep</font> <font color="#A347BA">-i</font> <font color="#A2734C">"wicked-beat"</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
label: <font color="#C01C28"><b>wicked-beat</b></font>,<font color="#C01C28"><b>wicked-beat</b></font>.fireball.local label: localhost, <font color="#C01C28"><b>wicked-beat</b></font>,<font color="#C01C28"><b>wicked-beat</b></font>.fireball.lan
</pre></html></WRAP> </pre></html></WRAP>
</WRAP> </WRAP>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--add-port=5000/tcp</font> <font color="#A347BA">--zone=internal</font> <font color="#A347BA">--permanent</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--add-port=5000/tcp</font> <font color="#A347BA">--zone=internal</font> <font color="#A347BA">--permanent</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--add-port=5000/tcp</font> <font color="#A347BA">--zone=public</font> <font color="#A347BA">--permanent</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--add-port=5000/tcp</font> <font color="#A347BA">--zone=public</font> <font color="#A347BA">--permanent</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--reload</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">firewall-cmd</font> <font color="#A347BA">--reload</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</WRAP> </WRAP>
===== レジストリの起動 ===== ===== レジストリの起動/停止 =====
最新バージョンは [[https://hub.docker.com/_/registry/tags|registry Tags | Docker Hub]] で確認できる🤔\\
レジストリの起動🤔\\
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">podman</font> run <font color="#A347BA">-d</font> <font color="#A347BA">--restart</font> always <font color="#A347BA">--name</font> registry \ <font color="#0087FF "><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:single">sudo</u></font> <font color="#26A269">podman</font> run <font color="#A347BA">-d</font> <font color="#A347BA">--restart</font> always <font color="#A347BA">--name</font> registry \
<font color="#A347BA">-p</font> 5000:5000 \ <font color="#A347BA">-p</font> 5000:5000 \
<font color="#A347BA">-v</font> /var/lib/registry/data:/var/lib/registry:z \ <font color="#A347BA">-v</font> /var/lib/registry/data:/var/lib/registry:z \
<font color="#A347BA">-v</font> /var/lib/registry/auth:/auth:z \ <font color="#A347BA">-v</font> /var/lib/registry/auth:/auth:z \
<font color="#A347BA">-e</font> <font color="#A2734C">" ;REGISTRY_AUTH=htpasswd" ;</font> \ <font color="#A347BA">-e</font> <font color="#A2734C">&apos ;REGISTRY_AUTH=htpasswd&apos ;</font> \
<font color="#A347BA">-e</font> <font color="#A2734C">" ;REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" ;</font> \ <font color="#A347BA">-e</font> <font color="#A2734C">&apos ;REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm&apos ;</font> \
<font color="#A347BA">-e</font> REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ <font color="#A347BA">-e</font> REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
<font color="#A347BA">-v</font> /var/lib/registry/certs:/certs:z \ <font color="#A347BA">-v</font> /var/lib/registry/certs:/certs:z \
<font color="#A347BA">-e</font> <font color="#A2734C">" ;REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain .crt" ;</font> \ <font color="#A347BA">-e</font> <font color="#A2734C">&apos ;REGISTRY_HTTP_TLS_CERTIFICATE=/certs/wicked-beat .crt&apos ;</font> \
<font color="#A347BA">-e</font> <font color="#A2734C">" ;REGISTRY_HTTP_TLS_KEY=/certs/domain .key" ;</font> \ <font color="#A347BA">-e</font> <font color="#A2734C">&apos ;REGISTRY_HTTP_TLS_KEY=/certs/wicked-beat .key&apos ;</font> \
<font color="#A347BA">-e</font> REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \ <font color="#A347BA">-e</font> REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
<font color="#A347BA">-e</font> REGISTRY_STORAGE_DELETE_ENABLED=true \
docker.io/library/registry:2.8.3 docker.io/library/registry:2.8.3
</pre></html></WRAP> </pre></html></WRAP>
</pre></html></WRAP> </pre></html></WRAP>
</WRAP> </WRAP>
[[https ://hub.docker.com /_ /registry/tags| registry Tags | Docker Hub]] で最新バージョンを確認できる🤔\\
レジストリを停止する場合...🤔\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style :single">sudo< /u>< /font> <font color="#26A269">sh< /font> <font color="#A347BA">-c< /font> <font color="#A2734C">'podman stop registry && podman rm registry'</font>
</pre></html></WRAP>
</WRAP>
レジストリへのアクセス確認🤔\\ レジストリへのアクセス確認🤔\\
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">curl</font><font color="#FF9999"> </font><font color="#A347BA">-u</font><font color="#FF9999"> tomoyan https://wicked-beat:5000/v2/_catalog</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269">curl</font><font color="#FF9999"> </font><font color="#A347BA">-u</font><font color="#FF9999"> tomoyan https://wicked-beat:5000/v2/_catalog</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
Enter host password for user 'tomoyan': Enter host password for user 'tomoyan':
{"repositories":[]} {"repositories":[]}
</pre></html></WRAP>
<WRAP color_result><html><pre>
registry
registry
</pre></html></WRAP> </pre></html></WRAP>
</WRAP> </WRAP>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">openssl</font><font color="#999999"> s_client </font><font color="#A347BA">-connect</font><font color="#999999"> wicked-beat:5000 </font><font color="#A347BA">-servername</font><font color="#999999"> wicked-beat</font> <font color="#0087FF "><b>$</b></font> <font color="#26A269">openssl</font><font color="#999999"> s_client </font><font color="#A347BA">-connect</font><font color="#999999"> wicked-beat:5000 </font><font color="#A347BA">-servername</font><font color="#999999"> wicked-beat</font>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result_long><html><pre> <WRAP color_result_long><html><pre>
CONNECTED(00000003) CONNECTED(00000003)
depth=0 CN = "wicked-beat,wicked-beat.fireball.local" depth=0 CN = "localhost, wicked-beat,wicked-beat.fireball.local"
verify return:1 verify return:1
--- ---
Certificate chain Certificate chain
0 s:CN = "wicked-beat,wicked-beat.fireball.local" 0 s:CN = "localhost, wicked-beat,wicked-beat.fireball.local"
i:CN = "wicked-beat,wicked-beat.fireball.local" i:CN = "localhost, wicked-beat,wicked-beat.fireball.local"
a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256 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 v:NotBefore: Mar 20 20:20:12 2024 GMT; NotAfter: Mar 20 20:20:12 2025 GMT
BQAwMTEvMC0GA1UEAwwmd2lja2VkLWJlYXQsd2lja2VkLWJlYXQuZmlyZWJhbGwu BQAwMTEvMC0GA1UEAwwmd2lja2VkLWJlYXQsd2lja2VkLWJlYXQuZmlyZWJhbGwu
bG9jYWwwHhcNMjQwMzIwMjAyMDEyWhcNMjUwMzIwMjAyMDEyWjAxMS8wLQYDVQQD 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 I72x52OQk9dfvXp2yiXhTSjZVcqY2axwvdEm8dA7kBE+vImTbxUJYzGWetMo3n4a
oZEMw11w4NNmuw1fvw== oZEMw11w4NNmuw1fvw==
-----END CERTIFICATE----- -----END CERTIFICATE-----
subject=CN = "wicked-beat,wicked-beat.fireball.local" subject=CN = "localhost, wicked-beat,wicked-beat.fireball.local"
issuer=CN = "wicked-beat,wicked-beat.fireball.local" issuer=CN = "localhost, wicked-beat,wicked-beat.fireball.local"
--- ---
No client certificate CA names sent No client certificate CA names sent
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">podman</font> login wicked-beat:5000 <font color="#0087FF "><b>$</b></font> <font color="#26A269">podman</font> login wicked-beat:5000
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/run/user/1000/containers/auth.json</u> <font color="#0087FF "><b>$</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/run/user/1000/containers/auth.json</u>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre class=Bat> <WRAP color_result><html><pre class=Bat>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">podman</font> logout wicked-beat:5000 <font color="#0087FF "><b>$</b></font> <font color="#26A269">podman</font> logout wicked-beat:5000
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/run/user/1000/containers/auth.json</u> <font color="#0087FF "><b>$</b></font> <font color="#26A269">bat</font> <font color="#A347BA">-n</font> <u style="text-decoration-style:single">/run/user/1000/containers/auth.json</u>
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre class=Bat> <WRAP color_result><html><pre class=Bat>
<WRAP color_term> <WRAP color_term>
<WRAP color_command><html><pre> <WRAP color_command><html><pre>
<font color="#FF8700 "><b>$</b></font> <font color="#26A269">podman</font> login wicked-beat:5000 <font color="#0087FF "><b>$</b></font> <font color="#26A269">podman</font> login wicked-beat:5000
</pre></html></WRAP> </pre></html></WRAP>
<WRAP color_result><html><pre> <WRAP color_result><html><pre>
</WRAP> </WRAP>
プッシュする🤔\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269">podman</font> push localhost/haruo_podman:0.01 wicked-beat:5000/haruo_podman:v0.01
</pre></html></WRAP>
<WRAP color_result><html><pre>
Getting image source signatures
Copying blob 10650e391d43 done |
Copying blob aacbd0b4169c done |
Copying blob 80f811a7d4fe done |
Copying blob 53f86715cdba done |
Copying blob eb2eb8ccdc68 done |
Copying config f291a9bf30 done |
Writing manifest to image destination
</pre></html></WRAP>
</WRAP>
プッシュされた内容を確認する🤔\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269">podman</font> search wicked-beat:5000/
</pre></html></WRAP>
<WRAP color_result><html><pre>
NAME DESCRIPTION
wicked-beat:5000/haruo_podman
</pre></html></WRAP>
</WRAP>
削除してみる🤔\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269">skopeo</font> <font color="#A347BA">--debug</font> delete docker://wicked-beat:5000/haruo_podman:v0.01
</pre></html></WRAP>
<WRAP color_result><html><pre>
<font color="#D0CFCC">DEBU</font>[0000] Using registries.d directory /etc/containers/registries.d
<font color="#D0CFCC">DEBU</font>[0000] Loading registries configuration "/etc/containers/registries.conf"
<font color="#D0CFCC">DEBU</font>[0000] Loading registries configuration "/etc/containers/registries.conf.d/000-shortnames.conf"
<font color="#D0CFCC">DEBU</font>[0000] Found credentials for wicked-beat:5000/haruo_podman in credential helper containers-auth.json in file /run/user/1000/containers/auth.json
<font color="#D0CFCC">DEBU</font>[0000] No signature storage configuration found for wicked-beat:5000/haruo_podman:v0.01, using built-in default file:///home/tomoyan/.local/share/containers/sigstore
<font color="#D0CFCC">DEBU</font>[0000] Looking for TLS certificates and private keys in /etc/docker/certs.d/wicked-beat:5000
<font color="#D0CFCC">DEBU</font>[0000] GET https://wicked-beat:5000/v2/
<font color="#D0CFCC">DEBU</font>[0000] Ping https://wicked-beat:5000/v2/ status 401
<font color="#D0CFCC">DEBU</font>[0000] GET https://wicked-beat:5000/v2/haruo_podman/manifests/v0.01
<font color="#D0CFCC">DEBU</font>[0000] DELETE https://wicked-beat:5000/v2/haruo_podman/manifests/sha256:f652ef85a8862285775a01c6dd279c35debd0b581c41e209875c3ab1d3ceacd7
<font color="#D0CFCC">DEBU</font>[0000] Deleting /home/tomoyan/.local/share/containers/sigstore/haruo_podman@sha256=f652ef85a8862285775a01c6dd279c35debd0b581c41e209875c3ab1d3ceacd7/signature-1
</pre></html></WRAP>
</WRAP>
削除しても消えないが、配布には使える🤪\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269">podman</font> search wicked-beat:5000/
</pre></html></WRAP>
<WRAP color_result><html><pre>
NAME DESCRIPTION
wicked-beat:5000/haruo_podman
</pre></html></WRAP>
</WRAP>
プッシュしたら二度と消せない🤪\\
コンテナ起動時に REGISTRY_STORAGE_DELETE_ENABLED=true も指定してるし、docker v2 API で DELETE も実行している🤔\\
<WRAP color_term>
<WRAP color_command><html><pre>
<font color="#0087FF"><b>$</b></font> <font color="#26A269">skopeo</font> <font color="#A347BA">--debug</font> delete docker://wicked-beat:5000/haruo_podman:v0.01
</pre></html></WRAP>
<WRAP color_result><html><pre>
<font color="#D0CFCC">DEBU</font>[0000] Using registries.d directory /etc/containers/registries.d
<font color="#D0CFCC">DEBU</font>[0000] Loading registries configuration "/etc/containers/registries.conf"
<font color="#D0CFCC">DEBU</font>[0000] Loading registries configuration "/etc/containers/registries.conf.d/000-shortnames.conf"
<font color="#D0CFCC">DEBU</font>[0000] Found credentials for wicked-beat:5000/haruo_podman in credential helper containers-auth.json in file /run/user/1000/containers/auth.json
<font color="#D0CFCC">DEBU</font>[0000] No signature storage configuration found for wicked-beat:5000/haruo_podman:v0.01, using built-in default file:///home/tomoyan/.local/share/containers/sigstore
<font color="#D0CFCC">DEBU</font>[0000] Looking for TLS certificates and private keys in /etc/docker/certs.d/wicked-beat:5000
<font color="#D0CFCC">DEBU</font>[0000] GET https://wicked-beat:5000/v2/
<font color="#D0CFCC">DEBU</font>[0000] Ping https://wicked-beat:5000/v2/ status 401
<font color="#D0CFCC">DEBU</font>[0000] GET https://wicked-beat:5000/v2/haruo_podman/manifests/v0.01
<font color="#C01C28">FATA</font>[0000] Unable to delete wicked-beat:5000/haruo_podman:v0.01. Image may not exist or is not stored with a v2 Schema in a v2 registry
</pre></html></WRAP>
</WRAP>
===== 参考文献 ===== ===== 参考文献 =====
[[https://www.redhat.com/sysadmin/simple-container-registry|How to implement a simple personal/private Linux container image registry for internal use | Enable Sysadmin]] [[gtr>https://www.redhat.com/sysadmin/simple-container-registry|翻訳]]\\ [[https://www.redhat.com/sysadmin/simple-container-registry|How to implement a simple personal/private Linux container image registry for internal use | Enable Sysadmin]] [[gtr>https://www.redhat.com/sysadmin/simple-container-registry|翻訳]]\\
[[https://thenewstack.io/tutorial-host-a-local-podman-image-registry/|Tutorial: Host a Local Podman Image Registry - The New Stack]] [[gtr>https://thenewstack.io/tutorial-host-a-local-podman-image-registry/|翻訳]]\\ [[https://thenewstack.io/tutorial-host-a-local-podman-image-registry/|Tutorial: Host a Local Podman Image Registry - The New Stack]] [[gtr>https://thenewstack.io/tutorial-host-a-local-podman-image-registry/|翻訳]]\\
[[git>quay/quay|quay/quay: Build, Store, and Distribute your Applications and Containers]]\\
[[https://github.com/quay/quay/blob/master/docs/quick-local-deployment.md|quay/docs/quick-local-deployment.md at master · quay/quay]]\\
[[https://access.redhat.com/docum.entation/ja-jp/red_hat_quay/2.9/html-single/deploy_red_hat_quay_-_basic/index|Deploy Red Hat Quay - Basic Red Hat Quay 2.9 | Red Hat Customer Portal]] [[gtr>https://access.redhat.com/documentation/ja-jp/red_hat_quay/2.9/html-single/deploy_red_hat_quay_-_basic/index|翻訳]]\\