registry搭建本地私有仓库

93 阅读2分钟

registry搭建本地私有仓库

#首先下载registry 镜像
docker pull registry
​
#在daemon.json文件中添加私有镜像仓库地址
vim /etc/docker/daemon.json
{
    "insecure-registries": ["192.168.80.10:5000"],
    #添加,注意用逗号结尾
    "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"]
    #镜像加速配置
}
systemctl restart docker.service
​
#运行 registry 容器
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
===================================================
-itd: 在容器中打开一个伪终端进行交互操作,并在后台运行
-v: 把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的
持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了
--restart=always: 这是重启的策略,在容器退出时总是重启容器
#重启策略有4种
--restart=no: 不会重启容器
--name registry: 创建容器命名为registry
registry:latest:这个是刚才pull下来的镜像
====================================================
Docker容器的重启策略如下:
no:默认策略,在容器退出时不重启容器
on-failure: 在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3 :在容器非正常退出时重启容器,最多重启3次
always: 在容器退出时总是重启容器
unless-stopped: 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
​
#为镜像打标签
docker tag centos:7 192.168.80.10:5000/centos:v1
​
#上传到私有仓库
docker push 192.168.80.10:5000/centos:v1
​
#列出私有仓库的所有镜像
curl http://192.168.80.10:5000/v2/_catalog
​
#出私有仓库的centos镜像有哪些tag
curl http://192.168.80.10:5000/v2/centos/tags/list
#先删除原有的centos的镜像,再测试私有仓库下载
docker rmi -f 8652b9f0cb4c
docker pull 192.168.80.10:5000/centos:v1

1、首先下载registry 镜像

Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了
​
目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1。Registry v2使用Go语言编写,在性能和安全性上做了很多优化,
重新设计了镜像的存储格式。如果需要安装registry v2,只需下载registry:2.2即可。Docker官方提供的工具docker-registry可以用于构建私有的镜像仓库
​
docker pull registry

image

image

2、在daemon.json文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json
​
{
  "registry-mirrors": ["https://qn26bytm.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.237.20:5000"]
}

image

image

3、运行 registry 容器

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

image

4、为镜像打标签

docker tag centos:7 192.168.237.20:5000/centos:v1

image

5、上传到私有仓库

docker tag centos:7 192.168.237.20:5000/centos:v1

image

6、列出私有仓库的所有镜像

curl http://192.168.237.20:5000/v2/_catalog

image

image

7、列出私有仓库的centos镜像有哪些tag

curl http://192.168.237.20:5000/v2/centos/tags/list

image

8、先删除原有的centos的镜像,再测试私有仓库下载

docker rmi -f 192.168.237.20:5000/centos:v1
docker pull 192.168.237.20:5000/centos:v1

image