docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker搭建私有仓库

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

总结

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

您可能感兴趣的文章:
阅读全文