配置Insecure Docker Registry支持http请求 (更改默认的https请求)

文章目录

小结

本文记录了如何配置Insecure http docker registry,也就是使用http请求 (更改默认的https请求)Docker Registry仓库。

问题

在测试环境中没有配置SSL/TLS, 需要使用http请求Docker Registry,也就是Containerd需要使用http处理请求,但是环境中的Containerd (CRI Container Runtime Interface)默认是使用https的,需要对默认的设置进行更改。

解决

对Kubernetes环境进行了以下修改:

1,修改/etc/docker/daemon.json,添加后结果如下:

json 复制代码
{
   "exec-opts":[
      "native.cgroupdriver=systemd"
   ],
   "insecure-registries":[
      "http://registry:80"
   ]
}

2, 重启docker服务

shell 复制代码
systemctl restart docker

3, 修改/etc/containerd/config.toml,添加以下内容:

shell 复制代码
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry:80"]
endpoint = ["http://registry:80"]

4, 重启containerd服务

shell 复制代码
systemctl restart containerd

配置完成,测试结果 :

shell 复制代码
[root@Master automated_deployment_script]# curl http://registry:80/v2/apiapp/tags/list
{"name":"apiapp","tags":["1.0"]}
[root@Master ~]# curl http://registry:80/v2/_catalog
{"repositories":[]}

参考

Stackoverflow: Docker repository server gave HTTP response to HTTPS client
containerd switching to HTTPS for HTTP registry after failed HEAD request

相关推荐
江湖有缘4 分钟前
从零开始:基于 Docker Compose部署高可用 Miniflux RSS阅读器
运维·docker·容器
..过云雨2 小时前
HTTP 协议深度解析:请求/响应、报头、正文的核心原理与实战
网络·网络协议·tcp/ip·计算机网络·http
林鸿风采2 小时前
在Alpine Linux上部署docker和Portainer管理工具
linux·运维·docker·portainer
林_学2 小时前
我扔掉了本地环境,从编码到上线只花了3分钟
docker
怜淇3 小时前
docker拉取openjdk8:jre失败
java·docker·容器
Mintopia3 小时前
🚀 HTTP/2 多路复用技术全透视
网络协议·http·https
nvd114 小时前
从 SSE 到 Streamable HTTP:MCP Server 的现代化改造之旅
网络·网络协议·http
techzhi5 小时前
Apifox CLI + GitLab CI:接口自动化测试实施记录
java·ci/cd·kubernetes·gitlab·yapi·运维开发·fastapi
间彧5 小时前
Arthas Tunnel Server 在 Kubernetes 中的深度集成与实战指南
kubernetes
间彧5 小时前
在Docker Compose或Kubernetes中集成Arthas的最佳实践是什么?
kubernetes