搭建私有仓库
参考地址:搭建私有仓库
安装运行 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