Docker 搭建私有仓库 && Jenkins自动化部署 JAVA,自己踩坑爬出来的--第一篇

it2025-12-06  9

Docker 搭建私有仓库 && Jenkins自动化部署 JAVA

docker 就不一一介绍了!!网上太多介绍文章了,
docker 安装 ,请参考安装步骤连接

直接上干货。。。

第一台Centos-7机器安装 Docker & Jenkins IP 10.8.9.2 第二台Centos-7机器安装了Docker IP 10.8.9.3

搭建自己的私有仓库

docker pull registry #下载仓库镜像 docker images #查看镜像 docker run -d --name registry --net=host -p 10.8.9.2:5000:5000 -v /data/docker/registry/:/var/lib/registry registry

-d 后台运行 –name 给该容器起的新名字 –net 使用宿主机的 IP 地址 -p 端口映射 -v 持久化目录挂载路径 ( 前面是宿主机目录,后面是容器里的目录 )

docker ps -a #查看容器

此时容器已启动 我们 修改docker 文件

vim /etc/docker/daemon.json #该文件不存在的,需要自己新建 { "registry-mirrors": ["http://hub-mirror.c.163.com"], #这是修改镜像源地址, "insecure-registries": ["10.8.9.2:5000"], #这是我们搭建的私有仓库的地址 "graph": "/data/docker" #这是docker自定义保存的路径 }

重启docker

systemctl restart docker #重启docker docker start registry #启动docker里的私有仓库容器 docker ps -a #查看是否启动成功

我们去下载一个镜像 进行测试

docker pull hello-world #下载 hello-world 镜像 docker images #查看镜像

我们先给 hello-world 镜像打个新的TAG

docker tag hello-world 10.8.9.2:5000/hello-world:v1 #请注意我写的格式

docker tag 的命令就不介绍了,自行百度很简单!!! 此时我们用 docker images 命令查看镜像 会出现一个新的镜像

docker images #查看镜像 10.8.9.2:5000/hello-world:v1

然后将刚打完TAG的镜像进行上传到我们刚搭建的私有仓库

docker images #查看镜像 docker push 10.8.9.2:5000/hello-world:v1 #上传到自己的藏库

我们可以去刚才启动的时候 映射的路径下查看该容器是否上传成功

cd /data/docker/registry/docker/registry/v2/repositories/ ll hello-world #这是我们刚才上传的镜像文件

也可以通过 url 进行访问查看

http://10.8.9.2:5000/v2/_catalog #浏览器访问 curl http://10.8.9.2:5000/v2/_catalog #在终端进行 curl {"repositories":["hello-world"]} #返回结果

有显示,说明我们上传成功 我们在把该镜像下载下来

docker rmi 10.8.9.2:5000/hello-world:v1 ##现将旧的镜像删除 docker images #查看镜像 docker pull 10.8.9.2:5000/hello-world:v1 ##下载刚才上传的镜像 docker images #查看镜像
接下来就是如何在另外一台服务器 pull 同一个镜像 10.8.9.3
操作很简单,只需要配置一个配置即可,客官,接着往下看!!!!!

如果正常的pull 此镜像肯定会报错

docker pull 10.8.9.2:5000/hello-world:v1 Error response from daemon: Get https://10.8.9.2:5000/v2/: http: server gave HTTP response to HTTPS client

你是不是也报错了??? 对吧!!! 看下面👇

vim /etc/docker/daemon.json #该文件不存在的,需要自己新建 { "registry-mirrors": ["http://hub-mirror.c.163.com"], #这是修改镜像源地址, "insecure-registries": ["10.8.9.2:5000"], #这是我们搭建的私有仓库的地址 "graph": "/data/docker" #这是docker自定义保存的路径 }

将此配置也同样的 写到 10.8.9.3 即可,,重启 docker 在进行 pull

docker pull 10.8.9.2:5000/hello-world:v1 v1: Pulling from hello 0e03bdcc26d7: Pull complete Digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 Status: Downloaded newer image for 10.8.9.2:5000/hello-world:v1 10.8.9.2:5000/hello-world:v1 docker images #查看镜像

是不是成功了!!!! 如果你有第三台服务器 只需要修改 /etc/docker/daemon.json 文件即可 拉去同一个镜像 至于该文件的配置介绍,还是那句话,查百度,这世界上问题 没有百度解决不了的,如果解决不了,那么,恭喜你,不会的不是你一个人,还有成千上亿的人不会!!

下面开始 Docker && Jenkins 开始进行部署 点击进入第二篇

最新回复(0)