CentOS 7搭建Docker私有镜像仓库
一、环境
CentOS | 7.5 |
Linux内核 | 3.10.0 |
Docker | 18.06.0-ce |
二、安装Docker Registry
1、配置Docker启动参数
在Docker启动参数中添加如下参数,即开放非安全端口5000,192.168.0.99是宿主机IP,重启Docker。
**--insecure-registry 192.168.0.99:5000**
2、启动registry容器
首先下载registry镜像,安装docker时,配置了阿里云镜像加速器,因此从阿里云下载镜像。
**docker pull registry**
生成配置文件/etc/docker/registry-config.yml,内容如下:
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
storage.delete.enabled=true设置镜像可删除,接下来启动registry容器,执行如下命令:
docker run -d -p 5000:5000 --restart=always --privileged=true -v /etc/docker/registry-config.yml:/etc/docker/registry/config.yml -v /etc/docker/hub:/var/lib/registry --name docker-registry registry
--restart=always设置重启策略,这里设置为退出后自动重启,
--privileged=true开放系统权限,
-v /etc/docker/registry-config.yml:/etc/docker/registry/config.yml挂载配置文件,
-v /etc/docker/hub:/var/lib/registry放系统/etc/docker/hub目录挂载到容器的/var/lib/registry目录,是存储镜像的目录。
--name docker-registry定义容器名称
三、使用私有仓库
在其他安装了Docker的主机中配置如下启动参数并重启。
**--insecure-registry 192.168.0.99:5000**
以busybox镜像为例,说明私有仓库的使用
1、将busybox镜像上传到私有仓库
**docker tag busybox 192.168.0.99:5000/busybox **\#重新将busybox打tag
**docker push 192.168.0.99:5000/busybox ** \#将镜像上传到私有仓库
2、从私有镜像仓库中下载busybox镜像
**docker pull 192.168.0.99:5000/busybox**
3、查询私有仓库中的镜像
**curl http://192.168.0.99:5000/v2/\_catalog**
返回结果:\{"repositories":\["busybox"\]\}
4、查询busybox镜像版本
**curl http://192.168.0.99:5000/v2/busybox/tags/list**
返回结果:\{"name":"busybox","tags":\["latest"\]\}
5、删除私仓库中的镜像
curl —header “Accept: application/vnd.docker.distribution.manifest.v2+json” -I -X HEAD http://cloud-i:5000/v2/resource/manifests/1.0 #查询sha256值
**curl -I -X DELETE http://cloud-i:5000/v2/resource/manifests/sha256:<sha256>** \#删除sha256对应的镜像
还没有评论,来说两句吧...