当前位置: 首页 > 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

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

相关文章:

  • -MAC桢-
  • 车联网大数据:从数据到场景的闭环实践
  • 配置文件介绍xml、json
  • 嵌入式软件开发常见warning之 warning: implicit declaration of function
  • 【RabbitMQ】应用问题、仲裁队列(Raft算法)和HAProxy负载均衡
  • 面试题 - Kafka、RabbitMQ、RocketMQ如何选型?
  • 运用数组和矩阵对数据进行存取和运算——NumPy模块 之五
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现windows操作系统的监控与可视化
  • 解决IDEA无法运行git的问题
  • WSL-Ubuntu 中安装 Git LFS 记录
  • 力扣HOT100之二叉树:104. 二叉树的最大深度
  • 力扣-138.随机链表的复制
  • Aware和InitializingBean接口以及@Autowired注解失效分析
  • linux-驱动开发之设备树详解(RK平台为例)
  • 《Python星球日记》 第58天:Transformer 与 BERT
  • 快解析为TPDDNS用户提供免费替换服务
  • 2025年SDK游戏盾技术深度解析:AI赋能下的DDoS/CC攻击防御革命
  • 《Effective Python》第1章 Pythonic 思维详解——深入理解流程控制中的解构利器match
  • Baumer工业相机堡盟工业相机在使用光源时如何选择蓝光还是红光
  • Lynx-字节跳动跨平台框架多端兼容Android, iOS, Web 原生渲染
  • 威尼斯建筑双年展总策划:山的另一边有什么在等着我们
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 国家统计局:4月份居民消费价格同比下降0.1%
  • 东方红资管官宣:41岁原国信资管董事长成飞出任新总经理
  • 身临其境感受伟人思想力量,“马克思书房”在上海社科馆揭幕
  • 上任后首访,德国总理与法国总统举行会晤