Docker登陆私服修改连接方式https为http

16 篇文章 0 订阅
6 篇文章 0 订阅

1、背景

搭建的私服harbor镜像仓库启用了SSL认证导致在kubesphere中无法查看harbor中的镜像(需要配置证书认证这里不太会搞),取消SSL认证后拉取镜像发现docker一直使用的https而不是http,故而记录一次修改docker使用http而不是https连接方式!

2、排查

关闭harbor镜像仓库的SSL认证后重启k8s服务发现部分pod无法启动,镜像无法被拉取
在这里插入图片描述

  • 可以看到这里使用的https,然而镜像仓库已经关闭了SSL认证,应该使用http才合适

使用docker login 登陆私服发现连接方式确实为https
在这里插入图片描述

3、解决方案

  1. 修改docker启动配置/etc/systemd/system/docker.service,添加--insecure-registry dockerhub.kubekey.local到dockerd启动命令之后
    在这里插入图片描述
  2. 修改daemon.json文件添加私服地址
"insecure-registry": ["dockerhub.kubekey.local","192.168.6.11"]

注意:这里由于我的虚拟机存在两个IP(192.168.6.11,192.168.198.11),由于192.168.6.11对外暴露,所以只配置了这一个
虚拟机是我从另一台电脑靠过来的所以有两个IP
这里之前的配置使用了http://并且IP在前,好像没有生效,最好按照这个顺序并且不要带http标识走

要搭建Docker私有仓库,您可以按照以下步骤进行操作: 1. 安装Docker:首先,确保您的系统上已经安装了Docker。您可以从Docker官方网站(https://www.docker.com/)上下载并安装适用于您操作系统的版本。 2. 创建Docker私有仓库容器:使用以下命令创建一个Docker私有仓库容器: ``` docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 这将在本地主机的5000端口上启动一个私有仓库容器,并将其命名为`registry`。 3. 配置Docker客户端:编辑Docker配置文件,使其能够连接到私有仓库。在Linux系统上,配置文件位于`/etc/docker/daemon.json`,在Windows上,配置文件位于`C:\ProgramData\docker\config\daemon.json`。如果配置文件不存在,可以创建一个新的。 在配置文件中添加以下内容: ``` { "insecure-registries" : ["your-server-ip:5000"] } ``` 将`your-server-ip`替换为您私有仓库所在的服务器IP地址。如果您的私有仓库在本地主机上,可以使用`localhost`或`127.0.0.1`。 4. 重启Docker服务:保存并关闭配置文件后,重启Docker服务以使配置生效。您可以使用以下命令来重启Docker服务: ``` sudo systemctl restart docker ``` 5. 使用私有仓库:现在您可以使用私有仓库来推送和拉取镜像。例如,要推送一个镜像到私有仓库,使用以下命令: ``` docker tag image-name your-server-ip:5000/image-name docker push your-server-ip:5000/image-name ``` 将`image-name`替换为您要推送的镜像的名称。 要从私有仓库中拉取镜像,使用以下命令: ``` docker pull your-server-ip:5000/image-name ``` 将`image-name`替换为您要拉取的镜像的名称。 这样,您就成功搭建了一个Docker私有仓库。您可以在私有仓库中存储和管理自己的镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值