配置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

相关推荐
lzjava20242 小时前
Docker Compose的使用
docker·容器
007php0073 小时前
HTTPS域名443端口证书到期问题排查与解决
开发语言·网络·网络协议·计算机网络·http·golang·https
Future_yzx3 小时前
Docker入门篇(Docker基础概念与Linux安装教程)
linux·docker·eureka
bjackal7 小时前
K8S学习笔记-------1.安装部署K8S集群环境
笔记·学习·kubernetes
TZ丶旭哥7 小时前
Docker使用教程
docker·容器·eureka
小Tomkk9 小时前
Docker 部署教程jenkins
docker·容器·jenkins
Dusk_橙子9 小时前
在K8S中,如何把某个worker节点设置为不可调度?
云原生·容器·kubernetes
慕雪华年21 小时前
【Docker】dockerfile识别当前构建的镜像平台
运维·docker·容器
谢大旭1 天前
http 请求类型及其使用场景
http
烛.照1031 天前
docker安装emqx
docker·容器·emqx