docker私有仓库搭建

为什么要搭建私有镜像仓库

我们使用docker pull 【具体镜像名称】命令拉取镜像,还是在Kubernetes中编写yaml文件的时候,使用image: 【具体镜像名称】,其实都是从docker公共镜像仓库拉取的,一般公共镜像仓库中有很多通用的镜像文件,比如MySQL,Redis,Nginx,busybox等等。

但是对于一个私有项目来说,不可能将定制化的应用镜像放到docker的公共镜像仓库中,这时,搭建一个私有镜像仓库就非常有必要了。

选择一台服务器,下载运行即可

[root@master ~]# docker pull registry:2  //下载registry:2 私有仓库
[root@master ~]# docker run -itd  --name registry --restart=always  -p 5000:5000  -v  /registry:/var/lib/registry  registry:2  //运行registry:2
[root@master ~]# vim  /usr/lib/systemd/system/docker.service //修改配置文件(3台)IP是registry:2所在的服务器ip

ExecStart=/usr/bin/dockerd --insecure-registry  192.168.1.10:5000

[root@master ~]# systemctl  daemon-reload  //修改完配置文件之后(3台)
[root@master ~]# systemctl  restart  docker  //重启docker(3台)
#将nginx镜像上传到私有仓库
[root@master ~]# docker pull  nginx  //下载nginx
[root@master ~]# docker tag nginx:latest  192.168.1.10:5000/nginx:v1.0  //修改镜像名称ip固定
[root@master ~]# docker push  192.168.1.10:5000/nginx:v1.0 //上传到registry:2私有仓库
[root@node01 ~]# docker pull   192.168.1.10:5000/nginx:v1.0 //在node01和node02上下载私有仓库的镜像
[root@node02 ~]# docker pull   192.168.1.10:5000/nginx:v1.0