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

Docker私有仓库实战:官方registry镜像实战应用

抱歉抱歉,离职后反而更忙了,拖了好久,从4月拖到现在,在学习企业级方案Harbor之前,我们先学习下官方方案registry,话不多说,详情见下文。

注意:下文省略了基本认证 TLS加密(没必要)

1.1、拉取registry镜像

要部署私有仓库就要使用这个镜像

docker pull docker.io/library/registry:2

1.2、运行容器

将拉去来的镜像运行成容器

[root@docker ~]# docker run -d -v /home/dockerdata/registry:/var/lib/registry --name "pri_registry" --restart=always -p 5000:5000 registry:2 ac1b3e1cff8315339966787e35034cc50a4897282871bb539022ebb4f284410b

-d  放到后台

/home/dockerdata/registry表示为宿主机的目录,如果不存在自动创建

-v映射目录:  宿主机的目录:容器目录

把宿主机的目录挂载到容器中,将数据目录挂载出来就是为了防止docker私有仓库这个容器被删除的时候,仓库里面的镜像也被删除。

-p 端口映射:本地端口:容器端口

1.3、访问本机端口测试

访问刚刚开启的5000端口

[root@docker ~]# curl -i 127.0.0.1:5000HTTP/1.1 200 OKCache-Control: no-cacheDate: Mon, 12 May 2025 10:17:31 GMTContent-Length: 0

1.4、测试下载一个小的镜像

[root@docker ~]# docker pull docker.1ms.run/busyboxUsing default tag: latestlatest: Pulling from busybox265dab34035e: Pull complete Digest: sha256:37f7b378a29ceb4c551b1b5582e27747b855bbfaa73fa11914fe0df028dc581fStatus: Downloaded newer image for docker.1ms.run/busybox:latestdocker.1ms.run/busybox:latest

1.5、更改镜像名称

要修改才能上传至私有仓库,前面的IP是仓库宿主机的IP

[root@docker ~]# docker tag docker.1ms.run/busybox:latest 10.211.55.60:5000/busybox

1.6、修改请求方式

默认为https,不改会报以下错误:

[root@docker ~]# docker push 10.211.55.60:5000/busyboxUsing default tag: latestThe push refers to repository [10.211.55.60:5000/busybox]Get "https://10.211.55.60:5000/v2/": http: server gave HTTP response to HTTPS client

因为docker是不允许http下载的,配置文件的意思就是允许使用http下载

vim /etc/docker/daemon.json    #不存在则创建

{ "insecure-registries":["本机的IP地址:5000"] }

{

  "insecure-registries": ["10.211.55.60:5000"],

  "registry-mirrors": [

    "https://registry.cn-hangzhou.aliyuncs.com",

    "https://docker.mirrors.ustc.edu.cn",

    "https://hub-mirror.c.163.com"

  ]

}

修改完重启docker 

systemctl restart docker

1.7、上传镜像到私有仓库

上传

[root@docker ~]# docker push 10.211.55.60:5000/busyboxUsing default tag: latestThe push refers to repository [10.211.55.60:5000/busybox]be632cf9bbb6: Pushed latest: digest: sha256:c109a60479ed80d63b17808a6f993228b6ace6255064160ea82adfa01c36deba size: 527

查看本地主机镜像存放目录

[root@docker ~]# ls /home/dockerdata/registry/docker/registry/v2/repositories/

busybox

1.8、查看私有镜像仓库里的所有镜像

[root@docker ~]# curl http://10.211.55.60:5000/v2/busybox/tags/list

{"name":"busybox","tags":["latest"]}

1.9、其他机器拉去私有仓库镜像测试

注意其他机器要拉取这个私有镜像仓库的话需要配置文件配置,因为docker是不允许http下载的,配置文件的意思就是允许使用http下载

注意:这里的IP地址是私有仓库对应的那台机器IP地址

vim /etc/docker/daemon.json    #不存在则创建

{

  "insecure-registries": ["10.211.55.60:5000"],

  "registry-mirrors": [

    "https://registry.cn-hangzhou.aliyuncs.com",

    "https://docker.mirrors.ustc.edu.cn"

  ],

  "storage-driver": "overlay2",

  "log-opts": {

    "max-size": "10m",

    "max-file": "3"

  }

}

[root@docker2 ~]# docker pull 10.211.55.60:5000/busyboxUsing default tag: latestlatest: Pulling from busybox6d4ad74debaa: Pull complete Digest: sha256:c109a60479ed80d63b17808a6f993228b6ace6255064160ea82adfa01c36debaStatus: Downloaded newer image for 10.211.55.60:5000/busybox:latest10.211.55.60:5000/busybox:latest

验证成功,以上就是官方的私有仓库搭建使用的基本教学了,感谢感谢。弟弟先去忙了

http://www.xdnf.cn/news/402067.html

相关文章:

  • ZYNQ笔记(二十一): VDMA HDMI 彩条显示
  • 当生产了~/qt-arm/bin/qmake,可以单独编译其他-源码的某个模块,如下,编译/qtmultimedia
  • openwrt目录结构(部分)
  • 【开源工具】深度解析:基于PyQt6的Windows时间校时同步工具开发全攻略
  • ZYNQ处理器在发热后功耗增加的原因分析及解决方案
  • Vue3 Echarts 3D饼图(3D环形图)实现讲解附带源码
  • springCloud/Alibaba常用中间件之Setinel实现熔断降级
  • Python动态渲染页面抓取之Selenium使用指南
  • springboot-web基础
  • 单片机学习Day08--相邻流水灯
  • 主流编程语言中ORM工具全解析
  • 对基于再生龙制作的Linux系统的硬盘进行扩容
  • 10. Spring AI PromptTemplate:从模板到高级技巧
  • Go 语言 slice(切片) 的使用
  • 智能停车场如何实现无缝通信?Canopen转 Profibus网关来解答
  • [高阶数据结构]二叉树经典面试题
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(21):CUDA 加速方案
  • 【生产实践】Linux中/usr/bin、/usr/sbin与/usr/local的关系解析(2025年技术规范)
  • 养生:拥抱健康生活的全方位指南
  • 多模态论文笔记——Coca
  • 基于Vue3.0的高德地图api教程005:实现绘制线并编辑功能
  • 一个例子看LLM的工具调用流程
  • js应用opencv
  • java每日精进 5.11【WebSocket】
  • Java后端文件类型检测(防伪造)
  • zuoyyyeee
  • 数据可视化:用一张图讲好一个故事
  • 安装Python和配置开发环境
  • 《 C++ 点滴漫谈: 三十七 》左值?右值?完美转发?C++ 引用的真相超乎你想象!
  • 创建三个网络,分别使用RIP、OSPF、静态,并每个网络10个电脑。使用DHCP分配IP