Docker如何搭建私有仓库
作者:Docker搭建私有仓库
文章介绍了如何搭建私有仓库并使用Docker进行镜像的管理和推送,首先,搭建私有仓库并配置非HTTPS访问(适用于Ubuntu、Debian和CentOS),然后,使用Docker命令标记、推送和拉取镜像,最后,通过curl命令查看仓库中的镜像列表
搭建私有仓库
安装运行 docker-registry
查看docker存储路径与对应路径下的大小
docker info | grep Dir
查看对应路径下的大小
du -sh /var/lib/docker

如果大小没有问题的话就可以直接安装了
拉取registry镜像并运行
docker run -d \
-p 5000:5000 \
-v /yourDataPath:/var/lib/registry \
registry使用 docker ps 指令查看容器是否正常运行,部署完成
配置非 https 仓库地址
因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制,或者查看下一节配置能够通过 HTTPS 访问的私有仓库。
Ubuntu 16.04+, Debian 8+, centos 7配置方法,对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"insecure-registries": [
"YOUR IPADDR:5000"
]
}更新配置
给dockerd 发送 SIGHUP 信号,dockerd 收到信号后会 reload 配置,查看Insecure Registries是否生效
kill -SIGHUP $(pidof dockerd) docker info

在私有仓库上传、搜索、下载镜像
**创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 127.0.0.1:5000。
**使用 docker tag 将 hello-world :latest这个镜像标记为 127.0.0.1:5000/hello-world:latest。
格式为
docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
docker tag hello-world:latest 127.0.0.1:5000/hello-world:latest

使用 docker push 上传标记的镜像。
docker push 127.0.0.1:5000/hello-world

用curl查看仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog

先删除已有镜像
docker rmi REPOSITORY
再尝试从私有仓库中下载这个镜像
docker pull 127.0.0.1:5000/hello-world

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
