containerd使用http方式push/pull镜像
参考containerd/hosts.md at release/1.6 ·集装箱/集装箱 (github.com)
containerd使用harbor 作为私有镜像仓库
使用ctr -n k8s.io images push 192.168.10.1/k8s_images/pause:3.8 报错
ctr -n k8s.io images push 192.168.10.1/k8s_images/pause:3.8
failed to do request: Head "https://192.168.10.1/v2/k8s_images/pause/blobs]: dial tcp 192.168.10.1:443; connect: connection refused 错误
在containerd v1.5中为ctr客户端(管理员/开发人员的containerd工具)、containerd映像服务客户端和CRI客户端(如kubectl和crictl)实现了新的和额外的注册表主机配置支持。 为这些客户端配置注册表将通过在配置目录中为每个所需的注册表主机指定(可选)hosts.toml文件来完成。注意:此目录下的更新不需要重新启动containerd守护程序。
将主机命名空间配置与CTR一起使用 使用–hosts-dir选项通过ctr提取容器映像时,告诉ctr查找并使用位于指定路径中的主机配置文件:
ctr images pull --hosts-dir "/etc/containerd/certs.d" myregistry.io:5000/image_name:tag
CRI
用于指定registry.mirrors和registry.configs的旧CRI配置模式已弃用。现在,您应该将注册表config_path指向hosts.toml文件所在的路径。
修改config.toml(默认位置:/etc/containerd/config.toml),如下所示:
[plugins."io.containerd.grpc.v1.cri".registry]
config_path = "/etc/containerd/certs.d"
注册表主机命名空间部分为"[registry_host_name|IP address] [:port]"docker.io的示例树:
$ tree /etc/containerd/certs.d
/etc/containerd/certs.d
└── docker.io
└── hosts.toml
仓库配置例子
下面是一个默认注册表主机配置的简单示例。在containerd的config.toml中设置config_path=“/etc/containerd/certs.d”。在config路径中创建一个目录树,其中包括docker.io作为表示要配置的主机命名空间的目录。然后在docker.io中添加一个hosts.toml文件来配置主机命名空间。它应该是这样的:
capabilities = [“pull”, “resolve”, “push”]文章来源:https://www.toymoban.com/news/detail-513564.html
$ tree /etc/containerd/certs.d
/etc/containerd/certs.d
└── docker.io
└── hosts.toml
$ cat /etc/containerd/certs.d/docker.io/hosts.toml
server = "https://docker.io"
[host."https://registry-1.docker.io"]
capabilities = ["pull", "resolve"]
绕过TLS验证示例文章来源地址https://www.toymoban.com/news/detail-513564.html
server = "https://registry-1.docker.io"
[host."http://192.168.31.250:5000"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true
到了这里,关于ctr 使用http方式push/pull镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!