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

相关推荐
白露与泡影几秒前
探索springboot程序打包docker的最佳方式
spring boot·后端·docker
ノBye~1 小时前
Docker Compose+Jenkins自动化部署全流程
git·docker·jenkins
大连好光景2 小时前
接口测试之Postman+Jmeter
jmeter·http·postman
wuxingge2 小时前
docker部署solara音乐播放器
docker·容器
❀͜͡傀儡师2 小时前
docker部署Antigravity-Manager
运维·docker·容器·antigravity
sg_knight2 小时前
Docker环境下的MinIO安装,以及如何正确配置数据持久化(避坑篇)
运维·docker·容器·minio·ftp·cos·oss
会飞的大可3 小时前
Docker容器项目无法访问MySQL的解决策略
mysql·docker·容器
cool32003 小时前
二进制基于kubeasz部署 K8s 1.34.x 高可用集群实战指南-第一章节基础环境准备(1-4)
云原生·容器·kubernetes
涛声依旧393164 小时前
构建部署kubernetes所需主机
linux·运维·云原生·容器·kubernetes
米丘4 小时前
从 HTTP 到 WebSocket:深入 Vite HMR 的网络层原理
http·node.js·vite