Docker构建私有仓库

Posted zyk01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker构建私有仓库相关的知识,希望对你有一定的参考价值。

Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制:

[[email protected] ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["http://95822026.m.daocloud.io"],
  "insecure-registries": ["192.168.43.174:5000"]
}
# ??这是Json格式


将上面的文件写入到docker服务配置文件中的[Service]配置项下:

[[email protected] ~]# grep ‘EnvironmentFile=/etc/docker/daemon.json‘ /lib/systemd/system/docker.service
EnvironmentFile=/etc/docker/daemon.json


完事后重新载入systemd并重启docker:

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl restart docker

下面的步骤将构建一个私有仓库


下载官方提供的私用仓库镜像,和一个用于测试的镜像:

# 下载私用仓库镜像
[[email protected] ~]# docker pull registry

# 下载用于测试的镜像
[[email protected] ~]# docker pull hello-world


下载完成后,启动私有仓库registry容器:

# 私有仓库会被创建在容器的/var/lib/registry目录下
# 可通过-v参数将宿主机的目录挂载到容器中的目录,这样便可在宿主机中查看镜像文件
[[email protected] ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry


测试连通性:

[[email protected] ~]# telnet localhost 5000


连通后,开始修改用于测试的镜像:

# 修改tag,以docker registry的地址端口开头
[[email protected] ~]# docker tag hello-world:latest 192.168.43.174:5000/hello-world:latest


推送本地镜像至私有仓库:

[[email protected] ~]# docker push 192.168.43.174:5000/hello-world


推送后,查询仓库:

[[email protected] ~]# curl http://192.168.43.174:5000/v2/_catalog
{"repositories":["hello-world"]}  # 可见,我们的hello-world镜像上传成功了


下载私有仓库中的镜像:

# 先将本地的测试镜像删除了
# 因为上面修改过测试镜像的tag,所以本地会有两个相同ID的镜像,这里我们指定镜像ID删除
[[email protected] ~]# docker rmi -f 4ab4c602aa5e

# 删除后,再下载仓库中的镜像
[[email protected] ~]# docker pull 192.168.43.174:5000/hello-world

ok,到这里就结束了.












以上是关于Docker构建私有仓库的主要内容,如果未能解决你的问题,请参考以下文章

虚拟化docker构建私有仓库,上传镜像至私有仓库

Docker 构建私有镜像仓库

使用Harbor构建docker私有仓库

使用Harbor构建docker私有仓库

使用Harbor构建docker私有仓库

Centos 7构建docker私有镜像仓库