首页 > 代码库 > 搭建docker私有仓库
搭建docker私有仓库
安装Docker
Docker的安装请参考官网(http://www.docker.com),非常详细的介绍了各个操作系统的部署过程。
对于CentOS 7.x操作系统的在线安装Docker,请参考如下:https://docs.docker.com/engine/installation/linux/centos
搭建Docker私有仓库
Docker官方提供了一个公有的registry叫做Docker Hub。但是企业内部可能有些镜像还是不方便放到公网上去,所以docker也提供了registry镜像来让需要的人自己搭建私有仓库。
我们这里以Docker官方提供的镜像Registry创建本地私有仓库,创建方式和启动一个普通镜像的方式是一样。
拉取registry镜像
registry需要从Docker Hub先拉取下来:
docker pull registry:2
拉取完成后,可以执行docker images进行查看。
启动registry
docker run -d -p 5000:5000 --restart=always \
--name registry \
-v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml \
-v /var/lib/registry:/var/lib/registry \
registry:2
registry v2 取消安全认证
registry启动之后,V2版本的默认需要安全链接,私有仓库可以移除。
修改docker服务启动脚本,在/usr/lib/systemd/system/docker.service脚本中添加EnvironmentFile位置,并且增加Docker启动参数$INSECURE_REGISTRY,具体内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/docker
ExecStart=/usr/bin/dockerd $INSECURE_REGISTRY
ExecReload=/bin/kill -s HUP $MAINPID
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
[Install]
WantedBy=multi-user.target
然后新建/etc/sysconfig/docker文件,在里边添加一行
INSECURE_REGISTRY=‘--insecure-registry IP:5000‘
最后重启Docker
systemctl daemon-reload
systemctl restart docker
客户端也同样需要调整,否则将无法从私有仓库pull镜像
cat /etc/sysconfig/docker
INSECURE_REGISTRY=‘--insecure-registry IP:5000‘
ADD_REGISTRY=‘--add-registry IP:5000‘
上传镜像到私有镜像仓库
给镜像打个标签:
docker tag centos:7.2 IP:5000/centos:7.2
上传镜像到私有镜像仓库:
docker push IP:5000/centos:7.2
其他Docker节点从私有镜像仓库中拉取镜像
从私有镜像仓库中拉去之前我们上传的镜像:
[root@dockera ~]# docker pull IP:5000/centos:7.2
7.2: Pulling from centos
a3ed95caeb02: Pull complete
bc4d85eaf590: Pull complete
Digest:sha256:05c5e4ffbd3e4e54a685915394858e1dacc38873f02920b57b66551a1626dbd3
Status: Downloaded newer image for IP:5000/centos:7.2
查看拉取的镜像:
[root@dockera ~]# docker images
搭建docker私有仓库