containerd 配置私有镜像仓库
前言:
containerd需要测试push私有镜像仓库。但是由于之前pull国内镜像,配置mirror源等操作。导致config.toml文件修改的次数过多。最终在配置私有仓库后无论如何都无法push成功http: server gave HTTP response to HTTPS client
走的一直是https。即使在config.toml中已经修改[plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.106.xx.xx:5000"]
任然报错。在使用docker push
成功跟nerdctl pull
镜像成功后,才发现可能和config.toml本身有关系。所以,尽量不要在config.toml中修改,以下为修复方法。
error stack:
root@ubuntu:/home/ubuntu# nerdctl push 10.106.xx.x:5000/nginx:zxc
INFO[0000] pushing as a reduced-platform image (application/vnd.docker.distribution.manifest.v2+json, sha256:9a40f244caca53fbb7596f0fc9126e3203e657ae386aa8e202e81e86f8dccfd8)
WARN[0000] skipping verifying HTTPS certs for "10.106.xx.x:5000"
manifest-sha256:9a40f244caca53fbb7596f0fc9126e3203e657ae386aa8e202e81e86f8dccfd8: waiting |--------------------------------------|
config-sha256:009adb0f7920fd22ce0dcf4625b7b2225f6874b7906185610966c1435d159b4e: waiting |--------------------------------------|
layer-sha256:ac6ca7a1ad1e711056f97b1bb7cafca507fb5bb30094643679837ccc3b454095: waiting |--------------------------------------|
layer-sha256:3da95a905ed546f99c4564407923a681757d89651a388ec3f1f5e9bf5ed0b39d: waiting |--------------------------------------|
layer-sha256:ce7132063a5679c245d63b972b414a24de1686b42f8231c8df6f703c50a5ac38: waiting |--------------------------------------|
layer-sha256:23e05839d684c6d82bd5fd45968bb8997da3a639f1fe8ca502a4edbcffa8655d: waiting |--------------------------------------|
layer-sha256:9bbbd7ee45b78c411208ea69e41a52a06a7e3872dfd0235e79bbb637e4789c1d: waiting |--------------------------------------|
layer-sha256:ee95256df0301df55618ec5c24f6bf41b6d005d3026e0e67e95fef0b0fbc2691: waiting |--------------------------------------|
layer-sha256:6c8e51cf00871b029c189d3e2145e2307bbba361bb62e20b696c18b2e8cd2f52: waiting |--------------------------------------|
layer-sha256:48670a58a68fc689138b916491d7c5aa6ea6fb2e4227a7edef275ec7003c9569: waiting |--------------------------------------|
layer-sha256:8b8a47100e1ad69b77ee786f64646c99d6ee73140cde13c61352d2845f6e0490: waiting |--------------------------------------|
elapsed: 0.1 s total: 0.0 B (0.0 B/s)
WARN[0000] server "10.106.xx.x:5000" does not seem to support HTTPS, falling back to plain HTTP error="failed to do request: Head \"https://10.106.xx.x:5000/v2/nginx/blobs/sha256:009adb0f7920fd22ce0dcf4625b7b2225f6874b7906185610966c1435d159b4e\": http: server gave HTTP response to HTTPS client"
manifest-sha256:9a40f244caca53fbb7596f0fc9126e3203e657ae386aa8e202e81e86f8dccfd8: waiting |--------------------------------------|
layer-sha256:ac6ca7a1ad1e711056f97b1bb7cafca507fb5bb30094643679837ccc3b454095: waiting |--------------------------------------|
layer-sha256:48670a58a68fc689138b916491d7c5aa6ea6fb2e4227a7edef275ec7003c9569: waiting |--------------------------------------|
config-sha256:009adb0f7920fd22ce0dcf4625b7b2225f6874b7906185610966c1435d159b4e: waiting |--------------------------------------|
layer-sha256:ce7132063a5679c245d63b972b414a24de1686b42f8231c8df6f703c50a5ac38: waiting |--------------------------------------|
layer-sha256:3da95a905ed546f99c4564407923a681757d89651a388ec3f1f5e9bf5ed0b39d: waiting |--------------------------------------|
layer-sha256:6c8e51cf00871b029c189d3e2145e2307bbba361bb62e20b696c18b2e8cd2f52: waiting |--------------------------------------|
layer-sha256:ee95256df0301df55618ec5c24f6bf41b6d005d3026e0e67e95fef0b0fbc2691: waiting |--------------------------------------|
layer-sha256:23e05839d684c6d82bd5fd45968bb8997da3a639f1fe8ca502a4edbcffa8655d: waiting |--------------------------------------|
layer-sha256:9bbbd7ee45b78c411208ea69e41a52a06a7e3872dfd0235e79bbb637e4789c1d: waiting |--------------------------------------|
layer-sha256:8b8a47100e1ad69b77ee786f64646c99d6ee73140cde13c61352d2845f6e0490: waiting |--------------------------------------|
elapsed: 0.1 s total: 0.0 B (0.0 B/s)
- 重置config.toml
cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
containerd config default > /etc/containerd/config.toml
- 添加certs.d下的host.toml文件,强制使用http
sudo mkdir -p /etc/containerd/certs.d/10.106. xx.x:5000
sudo tee /etc/containerd/certs.d/10.106. xx.x:5000/hosts.toml > /dev/null <<EOF
server = "http://10.106. xx.x:5000"
EOF
- 重启containerd
sudo systemctl restart containerd
- push 镜像
root@ubuntu:/home/ubuntu# nerdctl --insecure-registry push 10.106.xx.x:5000/nginx:zxc
INFO[0000] pushing as a reduced-platform image (application/vnd.docker.distribution.manifest.v2+json, sha256:9a40f244caca53fbb7596f0fc9126e3203e657ae386aa8e202e81e86f8dccfd8)
WARN[0000] skipping verifying HTTPS certs for "10.106.xx.x:5000"
INFO[0000] host will try HTTPS first since it is configured for HTTP with a TLS configuration, consider changing host to HTTPS or removing unused TLS configuration host="10.106.xx.x:5000"
manifest-sha256:9a40f244caca53fbb7596f0fc9126e3203e657ae386aa8e202e81e86f8dccfd8: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ac6ca7a1ad1e711056f97b1bb7cafca507fb5bb30094643679837ccc3b454095: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:009adb0f7920fd22ce0dcf4625b7b2225f6874b7906185610966c1435d159b4e: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:3da95a905ed546f99c4564407923a681757d89651a388ec3f1f5e9bf5ed0b39d: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:6c8e51cf00871b029c189d3e2145e2307bbba361bb62e20b696c18b2e8cd2f52: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:9bbbd7ee45b78c411208ea69e41a52a06a7e3872dfd0235e79bbb637e4789c1d: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:48670a58a68fc689138b916491d7c5aa6ea6fb2e4227a7edef275ec7003c9569: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ce7132063a5679c245d63b972b414a24de1686b42f8231c8df6f703c50a5ac38: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:23e05839d684c6d82bd5fd45968bb8997da3a639f1fe8ca502a4edbcffa8655d: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ee95256df0301df55618ec5c24f6bf41b6d005d3026e0e67e95fef0b0fbc2691: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8b8a47100e1ad69b77ee786f64646c99d6ee73140cde13c61352d2845f6e0490: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 0.1 s total: 0.0 B (0.0 B/s)