Docker系列---【搭建docker私有仓库】

前提:会使用Dockerfile构建镜像,不会的参考https://www.cnblogs.com/hujunwei/p/15823522.html

1.拉取私服镜像

docker pull registry

2.启动docker私服

docker run -di --name=registry ‐p 5000:5000 registry

3.打开浏览器 输入地址"http://192.168.26.130:5000/v2/_catalog"看到 {"repositories":[]} 表示私有仓库搭建成功,并且内容为空。

4.修改daemon.json,此步用于让 docker信任私有仓库地址
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["192.168.26.130:5000"]
}

5.重启docker服务

systemctl restart docker

6.重启registry

docker start registry

7.镜像上传至私有仓库

#标记此镜像jdk1.8_hjw为私有仓库的镜像,这个镜像和jdk1.8的镜像镜像id是一样的
docker tag jdk1.8_hjw 192.168.26.130:5000/jdk1.8

#上传标记的镜像
docker push 192.168.184.141:5000/jdk1.8

8.这时候访问"http://192.168.26.130:5000/v2/_catalog",就可以看到上传的镜像。

 9.从私有仓库下载镜像,此时在另一台装有docker的服务器上,重复4,5步骤,然后下载镜像

docker pull 192.168.26.130:5000/jdk1.8

 

 扩展:

第一台配置

复制代码
[root@docker ~]# docker pull registry 
#下载registry镜像
[root@docker ~]# docker run -tid --name registry --restart=always -p 5000:5000 - v /data/registry:/var/lib/registry registry
#运行该镜像,各个选项含义如下:
# -tid:以后台持久运行,并分配一个可交互的为终端
# --name registry :给容器定义一个名字
# --restart=always:该容器可以随着docker服务的启动而启动
# -p:将容器的端口映射到宿主机,冒号前面是宿主机的端口,冒号后面是容器的端口,registry的默认端 口是5000
# -v:将宿主机的目录挂载到容器中,冒号前面是宿主机的目录,冒号后面是容器中的目录
[root@docker ~]# docker images
#查看当前的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 2 weeks ago 220MB
registry latest f32a97de94e1 7 months ago 25.8MB
[root@docker ~]# docker tag centos:latest 192.168.20.7:5000/centos:latest
#更改镜像名称,以便符合私有仓库名称规范
#注:私有仓库镜像的命名规则:192.168.20.7:5000/XXX(宿主机的IP:5000端口/镜像名称)
[root@docker ~]# vim /usr/lib/systemd/system/docker.service
#更改docker的配置文 件,以便指定私有仓库 ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
#定位到上面那行,在后面添加“--insecure-registry”并指定私有仓库的IP及端口,然后保存退出即可
[root@docker ~]# systemctl daemon-reload
#重载配置文件
[root@docker ~]# systemctl restart docker
#重启docker服务
[root@docker ~]# docker push 192.168.20.7:5000/centos:latest
#上传镜像至私有仓 库
[root@docker ~]# curl 192.168.20.7:5000/v2/_catalog
#查看私有仓库中的镜像
{"repositories":["centos"]}
[root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list
#查看镜像的详细信息
{"name":"centos","tags":["latest"]}
复制代码

第二台配置

复制代码
[root@docker02 ~]# vim /usr/lib/systemd/system/docker.service 
#编辑主配置文件 ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
#定位到上面那行,添加“--insecure-registry”指定私有仓库的IP及参数 #添加完成后,保存退出即可

[root@docker02 ~]# systemctl daemon-reload
#重载配置文件
[root@docker02 ~]# systemctl restart docker
#重启docker服务
[root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest
#下载私有仓库的中的镜像
[root@docker02 ~]# docker images
#确认下载的镜像
复制代码

 

 

posted on   少年攻城狮  阅读(102)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示