简介
Docker私有仓库主要是企业内部用来存放镜像的仓库,相对官方仓库以及阿里云仓库,具有更高的保密安全级别
私有仓库的搭建
拉取私有仓库镜像
私有仓库程序本身就是一个镜像
docker pull registry
启动私有仓库容器
docker run -di --name=myRegistry -p 5000:5000 registry
测试访问
http://宿主机ip:5000/v2/_catalog
例:
http://192.168.101.165:5000/v2/_catalog
看到这个 说明启动OK。因为仓库里还没有镜像,所以就是空的
修改docker配置,让docker信任私有仓库地址
文件位置/etc/docker/daemon.json
增加
可以是多个
"insecure-registries": ["私有仓库地址:端口"]
例:
#编辑文件
vi /etc/docker/daemon.json
增加
"insecure-registries": ["192.168.101.165:5000"]
注意json格式,要在第一项后面加个英文逗号
保存退出
重启docker
systemctl restart docker
重启仓库容器
格式
docker start 容器id
例:
docker start 1837428f2f72
再次测试访问
正常。
私有仓库使用测试
标记镜像为私有仓库的镜像
命令格式
docker tag : 标记本地镜像,将其归入某一仓库。
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
例:
docker tag centos:7 192.168.101.165:5000/makalo/mycentos:7
如图表示完成
上传镜像到私有仓库
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
命令格式
docker push [OPTIONS] NAME[:TAG]
例:
docker push 192.168.101.165:5000/makalo/mycentos:7
上传完成
删除本地仓库镜像
docker rmi 192.168.101.165:5000/makalo/mycentos:7
可以看到已经没有了
从私有仓库拉取镜像并运行容器
docker run -it 192.168.101.165:5000/makalo/mycentos:7 /bin/bash
运行成功
再访问容器仓库
http://192.168.101.165:5000/v2/_catalog