Harbor仓库学习

262 阅读2分钟

通过docker-compose搭建本地Harbor镜像, 构建一个属于自己的镜像管理仓库。

安装docker、docker-compose环境

安装docker环境:

安装:yum intsall -y docker 
启动:service docker start

安装docker-compose环境:

1、下载docker-compose插件:
官网安装地址:sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
国内加速安装:sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2、给docker-compose执行权限
sudo chmod +x /usr/local/bin/docker-compose

3、查看安装版本
docker-compose --version

harbor镜像安装

下载harbor镜像安装包:

下载安装:wget https://storage.googleapis.com/harbor-releases/release-1.10.0/harbor-offline-installer-v1.10.1-rc1.tgz
解压安装包:tar zxf harbor-offline-installer-v1.10.1-rc1.tgz

修改配置文件:
安装包目录如下: image.png

修改harbor.yml image.png

hostname: xwdr.harbor.com           # 配置监听地址,也可以是域名
port: 8888                          # 配置监听端口
harbor_admin_password: Harbor12345  # 配置admin用户的密码
data_volume: /data/harbor           # 配置数据仓库
#https:                             # https模块, 可以先屏蔽此模块,安装完环境后,再配置https证书
  # https port for harbor, default is 443
  #port: 443
  # The path of cert and key files for nginx
  #certificate: /data/cert/xwdr.harbor.com.crt
  #private_key: /data/cert/xwdr.harbor.com.key

安装harbor:

执行命令:./install.sh, 出现以下命令则表示安装成功

Creating harbor-jobservice ... 
Creating nginx ... 
✔ ----Harbor has been installed and started successfully.----

harbor的https证书配置可参考: yeasy.gitbook.io/docker_prac…

访问harbor管理页面

访问地址:http://192.168.0.110:8888/ 用户:admin 密码:Harbor12345
https访问:https://192.168.0.110/ image.png

添加harbor用户、项目, 方便在docker环境、k8s环境中使用私有镜像仓库。
添加harbor用户
创建用户 image.png

设置管理员 image.png

添加harbor项目 image.png

添加项目成员 image.png

k8s worker节点配置私有镜像仓库Harbor

docker配置私有仓库
registry-mirrors为公共仓库,insecure-registries私服仓库 image.png

重启docker服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

连接私有harbor

修改tag别名:docker tag mysql:latest xwdr.harbor.com/test/mysql_t:v1.0.2
登录harbor: docker login xwdr.harbor.com
推送tag: docker push xwdr.harbor.com/test/mysql_t:v1.0.2
拉取tag: docker pull xwdr.harbor.com/test/mysql_t:v1.0.2

镜像推送成功如下图: image.png

配置containerd配置文件
注意:k8s-1.20发布之后,默认使用Container Runtime Interface(CRI)代替doker作为底层容器运行时。 因此原来在docker中配置的个人仓库环境不再起作用,导致k8s配置pods时拉取镜像失败。
执行命令vi /etc/containerd/config.toml, 配置如下:

image.png

insecure_skip_verify = true 表示跳过证书认证
重启containerd服务即可:systemctl restart containerd