前言:
今天姐妹们对“dockercentos搭建私有仓库”可能比较关切,大家都需要分析一些“dockercentos搭建私有仓库”的相关文章。那么小编在网上网罗了一些关于“dockercentos搭建私有仓库””的相关内容,希望看官们能喜欢,咱们快快来学习一下吧!搭建docker私有仓库目的
我们在使用docker服务时,经常需要将自己的服务构建成docker镜像,私有的镜像提交到公共docker仓库是非常不方便的,公司的业务镜像更是不允许泄露,因此我们需要创建一个本地仓库供私人或公司内部使用。
docker-registry是官方提供的工具,用于搭建私有镜像仓库。
安装并运行docker-registry
1、安装docker
安装一些必要的工具
root]# yum install epel-release
root]# yum install -y yum-utils device-mapper-persistent-data lvm2
添加docker yum源
root]# yum-config-manager --add-repo
root]# yum makecache fast
安装docker-ce
root]# yum -y install docker-ce
root]# vim /etc/docker/daemon.json
{
"registry-mirrors": [
";
],
"insecure-registries": [
"192.168.1.13:5000" #允许使用本机内网ip作为私有仓库地址,允许使用http协议访问
]
}
注意:该文件必须符合 json 规范,否则 Docker 将不能启动。
root]# systemctl start docker #启动docker服务
root]# systemctl enable docker #添加开机启动
2、安装配置docker-registry私有仓库
root]# docker pull registry:latest #获取官网最新版registry镜像
root]# mkdir /etc/docker/registry
创建registry配置文件,在配置文件中的storage配置中增加 delete=true 配置项,私有仓库一定要允许删除镜像,否则在使用过程中累计的镜像越来越多,占用大量磁盘空间,老旧的镜像需要及时清理。
root]# vim /etc/docker/registry/config.yml
3、启动docker私有仓库
root]# docker run -d -p 5000:5000 -v /data/docker/registry:/var/lib/registry -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml --restart=always --name registry registry
-v /data/docker/registry:/var/lib/registry:将本地 /data/docker/registry 目录挂载到docker服务的 /var/lib/registry 目录,这样上传的私有镜像,就存储到本地的数据盘上,避免系统盘空间太小,导致磁盘空间写满故障。
-v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml:将本地自己配置的配置文件挂载到docker镜像里,替换镜像里的配置文件。
查看一下我们的私有仓库里都有什么
root]# curl 192.168.1.13:5000/v2/_catalog
{"repositories":[]} #因为我们还没有提交镜像,所以空空如也
使用 docker pull 命令获取镜像
root]# docker pull hello-world:latest
使用 docker tag 命令标记镜像
root]# docker tag hello-world:latest 192.168.1.13:5000/ubuntu:latest
使用 docker push 命令上传镜像到私有仓库
root]# docker push 192.168.1.13:5000/ubuntu:latest
root]# curl 192.168.1.13:5000/v2/_catalog
{"repositories":["hello-world"]}
可以看到{"repositories":["hello-world"]},表明镜像已上传到私有仓库。
标签: #dockercentos搭建私有仓库