私有化部署极简-Docker-Registry

6次阅读

共计 1402 个字符,预计需要花费 4 分钟才能阅读完成。

在应用 K8S 和 Docker 进行疾速 CI/CD 的过程中咱们须要提交 Docker 镜像. 在私有云上, 咱们能够应用阿里云镜像服务. 但本地开发和测试环境, 如果应用阿里云等私有云服务, 在速度和流量费用方面都须要思考, 因而少不了私有化部署. 常见的私有化计划有 2 种:

  • Docker Registry. 以后最新版本为 Registry 2. 提供外围的仓库服务, 但无节面. 适宜开发和测试环境, 以及小团队应用.
  • Harbor. Habor 是由 VMWare 公司开源的容器镜像仓库。事实上,Habor 是在 Docker Registry 上进行了相应的企业级扩大,从而取得了更加宽泛的利用,这些新的企业级个性包含:治理用户界面,基于角色的访问控制,反对 Helm charts, AD/LDAP 集成以及审计日志等。因而, 对于比拟大的组织, 或者须要在正式环境应用, 甚至二次开发或对外进行服务, 那么举荐应用 Harbor.

一. Docker Registry 装置和启动:

Registry 间接应用 docker 装置即可, 需裸露一个端口, 以及将镜像存储的门路 map 到 host 长久化. 应用以下命令进行装置:

docker pull registry:2.6.1
docker run -d -p 5000:5000 -v /data2/docker-registry/registry:/tmp/registry --restart=always daocloud.io/registry:2.6.1

如果应用应用国内 DaoCloud 镜像, 可将下面的 registry:2.6.1 替换为 daocloud.io/registry:2.6.1.

残缺的 compose.yaml 示例如下:

dockerregistry:
  image: daocloud.io/library/registry:2.6.1
  privileged: false
  restart: always
  ports:
  - 5000:5000
  volumes:
  - /data2/docker-registry/registry:/tmp/registry

二. 拜访 Registry:

配置本地 docker 容许拜访非平安 (http) 服务

在 docker 所在机器编辑 (如没有, 能够新建) /etc/docker/daemon.json (假如为 Linux 零碎):

{"insecure-registries" : ["ttg12:5000"]
}

提交一个镜像 (image)

当初示例把 registry:2.6.1 这个镜像打上公有仓库的标签, 并且提交:

docker tag registry:2.6.1 ttg12:5000/registry:2.6.1
docker push ttg12:5000/registry:2.6.1

输入相似如下:

The push refers to repository [ttg12:5000/registry]
423c48d36423: Pushed
cec8f96b3c39: Pushed
25acfcbca8c9: Pushed
05d392f56700: Pushed
2b0fb280b60d: Pushed
2.6.1: digest: sha256:988247ab20a6b83e57039bea439c37fa3f3b728e9f8aa720bbc381f24ec78db3 size: 1364

三. 给 Registry 减少权限验证

参考 Authenticate proxy with nginx

正文完
 0