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:5000

HTTP/1.1 200 OK

Cache-Control: no-cache

Date: Mon, 12 May 2025 10:17:31 GMT

Content-Length: 0

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

[root@docker ~]# docker pull docker.1ms.run/busybox

Using default tag: latest

latest: Pulling from busybox

265dab34035e: Pull complete 

Digest: sha256:37f7b378a29ceb4c551b1b5582e27747b855bbfaa73fa11914fe0df028dc581f

Status: Downloaded newer image for docker.1ms.run/busybox:latest

docker.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/busybox

Using default tag: latest

The 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/busybox

Using default tag: latest

The 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/busybox

Using default tag: latest

latest: Pulling from busybox

6d4ad74debaa: Pull complete 

Digest: sha256:c109a60479ed80d63b17808a6f993228b6ace6255064160ea82adfa01c36deba

Status: Downloaded newer image for 10.211.55.60:5000/busybox:latest

10.211.55.60:5000/busybox:latest

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全镇人的希望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值