> 文档中心 > 【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

目录

一、私有仓库的搭建与配置

二、镜像传至私有仓库


一、私有仓库的搭建与配置

所谓的 Docker 私有仓库,就是指企业内部所使用的仓库。仓库用于存放各种镜像,区别在于公有仓库所存储的都是一些通用型的镜像比如N Tomcat 镜像、ginx 镜像等。私有仓库则用于存放自身开发的企业级应用。如果想要在一个局域网来共享一些镜像,那么就需要用到私有仓库。

1. 拉取私有仓库镜像 docker pull registry

[root@192 ~]# docker pull registryUsing default tag: latestlatest: Pulling from library/registry79e9f2f55bf5: Pull complete 0d96da54f60b: Pull complete 5b27040df4a2: Pull complete e2ead8259a04: Pull complete 3790aef225b9: Pull complete Digest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b8e39f97fcf866b375Status: Downloaded newer image for registry:latestdocker.io/library/registry:latest[root@192 ~]# 

2. 创建私有仓库,占用 5000 端口;

[root@192 ~]# docker run -di --name=registry -p 5000:5000 registry

此时已经算是完成了私有仓库的构建,如下;

3. 测试连接,在本地浏览器中输入 192.168.200.129:5000/v2/_catalog 进行访问,可以成功访问则说明私有仓库搭建完成。成功效果如下:

192.168.200.129 是我的 Docker 宿主机(虚拟机)IP 地址,大家操作时注意查看自己的的宿主机 IP。

4. 修改 /etc/docker/daemon.json 文件,此步骤的目的是让 Docker 能够信任该私有仓库的地址,只有这样之后才能将本地镜像上传至私有仓库;

[root@192 ~]# vi /etc/docker/daemon.json

在该文件中加入以下代码:

"insecure-registries":["192.168.200.129:5000"]

修改配置文件之后,重启 Docker 使其生效;

[root@192 ~]# systemctl restart docker

二、镜像上传至私有仓库

此处我以 jdk1.8 镜像为例进行操作演示。

1. 标记要上传的镜像为私有仓库镜像;

[root@192 ~]# docker tag jdk1.8 192.168.200.129:5000/jdk1.8

此时再次查看 Docker 中的镜像,可以看到 jdk1.8 镜像已经被标记;

2. 启动 registry 容器;

[root@192 ~]# docker start registryregistry

3. 上传被标记的镜像至私有仓库;

[root@192 ~]# docker push 192.168.200.129:5000/jdk1.8Using default tag: latestThe push refers to repository [192.168.200.129:5000/jdk1.8]e5e377c11436: Pushed 6e64d4a7ac94: Pushed 174f56854903: Pushed latest: digest: sha256:8699db7832cf89668b5812161c55e73454fbc0304d354d06ed0e6ce3ddc493ca size: 949[root@192 ~]#  

4. 测试连接,再次在本地浏览器中输入 192.168.200.129:5000/v2/_catalog 进行访问,可以看到相较于刚创建的私有仓库列表中已添加了 jdk1.8;

jdk1.8 上传至私有仓库成功。

帝国技术学习