docker 创建私有仓库

介绍

本文介绍docker 如何创建私有仓库,如何将本地镜像 push 到私有仓库,如何查看私有仓库的镜像,如何从私有仓库中Pull 镜像等。本次采用windows docker 来演示(采用 linux 系统CentOS 中的dockder 也类似 )。

必备条件

  1. 两台装有docker的主机:我这里采用两台装有docker的windows server 2019,其中作为docker仓库的主机,安装的是docker desktop。如果是采用linux系统CentOS也类似。
  2. Registry仓库镜像:其中一台docker主机pull Registry 镜像,用做仓库。docker hub的registry镜像默认版本为 v2.x,地址为 https://registry.hub.docker.com/_/registry
  3. 两台docker 主机,能相互通信。

建立仓库

1.在用作仓库的docker 主机上,运行基于Registry镜像的仓库容器,创建私有仓库。

  `docker run -d -p 5000:5000 --restart always --name FyyRegistry registry`

查看容器运行情况:

至此,则私有仓库创建完毕,接下来,开始将镜像上传至本地仓库。

上传镜像到私有仓库

建立私有仓库后,就可以将从其他地方获取的镜像,或者自己构建的镜像,上传至自己的私有仓库

1.给镜像打标签,以为我本地j镜像 my-asp-app 为例演示:

docker image tag my-asp-app 127.0.0.1:5000/my-asp-app:v1

其中,my-asp-app 是我本地镜像,127.0.0.1:5000/my-asp-app:v1 是我根据镜像,重新打的tag。可以看出,这是一个URL地址。其实,每个镜像的仓库,都是一个URL地址,简写的镜像地址,如 my-asp-app,它的完整URL前缀是docker hub 官网。
查看重新打标签的镜像如下:

2.上传镜像到私有仓库

docker push 127.0.0.1:5000/my-asp-app:v1

docker push后,镜像就会存在私有仓库了。可查看私有仓库的镜像:

curl http://127.0.0.1:5000/v2/_catalog

pull 私有仓库镜像

在一台docker 主机建立私有镜像仓库,并上传镜像后。在另一台docker主机,就可以pull私有仓库的镜像了。
1.修改daemon配置:
登录另一台主机,修改daemon.json配置文件,添加 "insecure-registries": ["172.20.111.164:5000"]
说明:其中172.20.111.164是创建docker 仓库的主机地址。daemon.json文件位置为 C:ProgramDatadockerconfig,如果daemon.json不存在,则手动创建。创建之后,重启docker。

重启docker,查看是否生效:

2.pull 私有仓库镜像:
docker pull 172.20.111.164:5000/my-asp-app:v1

原文地址:https://www.cnblogs.com/Fengyinyong/p/14110382.html