构建docker私有镜像仓库
(1)、 docker 安装
安装docker
# yum install -y yum-utils device-mapper-persistent-data lvm2 libsemanage-python libselinux-utils
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum makecache fast
# yum install docker-ce -y
配置阿里云docker镜像地址用来加速
# cat <
{
"registry-mirrors": ["https://aa25jngun.mirror.aliyuncs.com"]
}
EOF
重启docker服务,并设置服务为自启动
# systemctl restart docker
# systemctl enable docker
(2)、构建docker私有镜像仓库
# docker run -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry --name registry docker.io/registry
为docker 添加私有仓库地址
编辑 /etc/docker/daemon.json 文件, 其中173.16.20.200:5000 为私有镜像仓库地址
{
"insecure-registries": ["173.16.20.200:5000"],
"registry-mirrors": ["https://aa25jngun.mirror.aliyuncs.com"]
}
保存文件后,重启docker 服务
# systemctl restart docker
将云端下载的镜像,上传到本地私有镜像仓库中去
# docker pull mysql
# docker tag mysql 173.16.20.200:5000/mysql:latest
# docker push 173.16.20.200:5000/mysql:latest
查看私有镜像仓库中的镜像
打开浏览器访问 , 请求registry Api 获取所有镜像列表 , registry 是针对docker 的私有docker hub 但是只提供了API方法,没有提供ui显示, 但已足够。
http://173.16.20.200:5000/v2/_catalog
catalog是一种数据库用语,是DB2数据库编目(catalog)
关于registry配置文件
登入容器查看 cat /etc/docker/registry/config.yml
可以看到镜像存储目录为 /var/lib/registry
可以把/var/lib/registry对外做下映射, 如我映射到 物理主机的 /opt/data/registry 位置