Docker 镜像是一个只读的模板,可用于部署容器服务,每个镜像有特定的唯一标识 (镜像的 Registry 地址 + 镜像名称+镜像 Tag)。例如:一个镜像可以包含一个完整的 Ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。而镜像仓库是集中存放镜像文件的场所,镜像仓库用于存放 Docker 镜像。
添加镜像仓库需要预先创建企业空间和项目,若还未创建请参考 管理员快速入门。
登录 KubeSphere 管理控制台,在已创建的项目中,左侧菜单栏中选择 配置中心 → 密钥,点击 创建。
QingCloud Docker Hub 基于 Docker 官方开源的 Docker Distribution 为用户提供 Docker 镜像集中存储和分发服务,请参考 QingCloud 容器镜像仓库 预先创建。若还未创建 QingCloud 镜像仓库,可以先参考文档添加一个示例仓库。
1、填写镜像仓库的基本信息
2、密钥设置中,类型选择 镜像仓库密钥
,填写镜像仓库的登录信息。
dockerhub.qingcloud.com
作为示例3、点击 创建,即可查看创建结果。
如果需要添加 Dokcer Hub 中的镜像仓库,请先确保已在 Docker Hub 注册过账号。添加步骤同上,仓库地址填写 docker.io
,输入个人的 DockerHub 用户名和密码即可。
Harbor 简介
Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution,作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。注意,添加之前请确保已创建了 Harbor 镜像仓库服务端,以下详细介绍如何在 KubeSphere 中添加 Harbor 镜像仓库。
KubeSphere Installer 集成了 Harbor 的 Helm Chart,内置的 Harbor 作为可选安装项,用户可以根据团队项目的需求来配置安装,仅需安装前在配置文件 conf/vars.yml
中简单配置即可,关于如何安装和使用内置的 Harbor 镜像仓库详见 安装内置 Harbor。
根据 Harbor 镜像仓库的地址类型,需要分 http 和 https 两种认证方法:
http://139.198.16.232
为例 (用户操作时镜像仓库的地址应替换为您实际创建的仓库地址),在 /etc/systemd/system/docker.service.d/docker-options.conf
文件添加字段--insecure-registry=139.198.16.232
:示例:
[Service]
Environment="DOCKER_OPTS=--registry-mirror=https://registry.docker-cn.com --insecure-registry=10.233.0.0/18 --graph=/var/lib/docker --log-opt max-size=50m --log-opt max-file=5 \
--insecure-registry=139.198.16.232"
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
ca.crt
,以 https://harbor.openpitrix.io
这个镜像仓库的地址为例,对集群中的所有节点都需要执行以下操作:$ sudo cp ca.crt /etc/docker/certs.d/harbor.openpitrix.io/ca.crt
UBUNTU
$ sudo cp ca.crt /usr/local/share/ca-certificates/harbor.openpitrix.io.ca.crt
$ sudo update-ca-certificates
RED HAT ENTERPRISE LINUX
$ sudo cp ca.crt /etc/pki/ca-trust/source/anchors/harbor.openpitrix.io.ca.crt
$ sudo update-ca-trust
$ sudo systemctl systemctl daemon-reload
$ sudo systemctl restart docker
以创建 Deployment 为例展示如何使用镜像仓库来拉取仓库中的镜像。比如 QingCloud 镜像仓库中有 mysql:5.6
的 docker 镜像。创建 Deployment 时,在容器组模板中需要选择镜像仓库,镜像地址填写为 dockerhub.qingcloud.com/mysql:5.6
,镜像地址的格式为 镜像仓库地址 / 镜像名称:tag
,填写后创建完成即可使用该镜像仓库中的镜像。