当前位置: 首页 > news >正文

如何部署本地dockers镜像源

最近许多公网的docker镜像源不能用了,只有用翻墙的办法去外网下载镜像,docker save导出镜像包,docker load在本地导入,docker push到本地部署的镜像服务器,然后Kubernetes就可以使用本地镜像服务器里的镜像了。

这里有个关键步骤,就是搭建本地docker镜像服务器了,鉴于容器部署的便捷性,我们使用容器部署docker镜像服务器。

1、在外网下载docker镜像服务器的镜像:registry:2

docker pull registry:2

docker save registry:2 > registry-2-image.tar.gz

docker load < registry-2-image.tar.gz

2、启动容器

docker run -d --restart=always -p "5001:5000" --network bridge --name "qinhao-registry" registry:2

这个命令创建的容器,对外服务端口是5001,且接受来自所有机器的请求。

3、客户端docker修改配置

此时,如果客户端 docker pull/push 镜像会有报错提示:

server gave HTTP response to HTTPS client

这是因为 docker 客户端默认使用 https 请求镜像,而我为了简单,私有镜像服务器使用的是http。

这就要修改客户端docker的配置文件:

vim /etc/docker/daemon.json

或(snap安装)

vim /var/snap/docker/current/config/daemon.json

对私有镜像服务器,指定非https连接,例如,我的registry:2容器的IP和Port为172.32.155.57:5001,在daemon.json中加入:

"insecure-registries":["172.32.155.57:5001"]

客户端重启docker:

snap restart docker

service docker restart/systemctl restart docker

客户端修改镜像tag,新tag中包括服务器的IP和Port:

docker tag milvusdb/etcd:3.5.5-r4 172.32.155.57:5001/etcd:3.5.5-r4

docker push 172.32.155.57:5001/etcd:3.5.5-r4

其它客户端pull

docker push 172.32.155.57:5001/etcd:3.5.5-r4

4、查看私有docker镜像服务器的内容

curl -X GET http://172.32.155.57:5001/v2/_catalog

curl -X GET http://172.32.155.57:5001/v2/milvus/tags/list

参考

【解决方法】Docker push 报错「server gave HTTP response to HTTPS client」_docker push response-CSDN博客

docker pull 报missing signature key错误_docker pull missing signature key-CSDN博客

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [RK3308H_Linux] 关于8+2(8路模拟麦克风 + 2路es7243e回采)的调试心得
  • UKP3D的局域网授权程序问题
  • PDF 中图表的解析探究
  • 数电票真伪查验接口、发票查验接口
  • C语言方法学习 std::vector<double> 转化double[]或double *
  • tkinter的iconbitmap默认图标
  • 彻底开源,免费商用,上海AI实验室把大模型门槛打下来
  • 实现线程同步
  • SpringMVC的架构有什么优势?——表单和数据校验(四)
  • [Vue3 + TS + Vite] 获取网页选中内容的字符串格式或HTML格式
  • android 添加一个水平线
  • 【ceph】ceph-mon重新选举的情况
  • 开发不认可bug策略
  • 在 Linux 上设置 RAID 阵列的全面指南
  • bash: redi-cli: 未找到命令...
  • ComponentOne 2017 V2版本正式发布
  • Hibernate【inverse和cascade属性】知识要点
  • If…else
  • Java知识点总结(JavaIO-打印流)
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • passportjs 源码分析
  • PHP 的 SAPI 是个什么东西
  • 记一次和乔布斯合作最难忘的经历
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 学习JavaScript数据结构与算法 — 树
  • 最近的计划
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ###C语言程序设计-----C语言学习(6)#
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (30)数组元素和与数字和的绝对差
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (篇九)MySQL常用内置函数
  • (强烈推荐)移动端音视频从零到上手(下)
  • (算法)Game
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .aanva
  • .Mobi域名介绍
  • .NET CF命令行调试器MDbg入门(一)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NetCore部署微服务(二)
  • .net操作Excel出错解决
  • .ui文件相关
  • /var/lib/dpkg/lock 锁定问题
  • @media screen 针对不同移动设备
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法
  • [04] Android逐帧动画(一)
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians