docker企业单位私有镜像仓库 Harbor 搭建

docker私有镜像仓库 Harbor 搭建

  • 背景说明
  • 使用环境
  • 安装部署
    • docker安装
    • docker-compose安装
  • 安装 Harbor
  • Harbor UI管理
  • docker 登录
  • docker推送镜像和拉取镜像
    • docker推送镜像
    • docker 拉取镜像

背景说明

为了方便管理docker容器镜像,通常使用各大云平台提供的镜像服务,缺点就是收费。因此很多企业单位都会自行搭建私有的容器镜像管理。
这里使用docker docker-compose 来搭建Harbor镜像管理。

使用环境

Docker: 20.10.12
Docker-compose: 1.29.2
Harbor: 2.4.1

安装部署

docker安装

#卸载podman软件(可以使用rpm -qa|grep docker)
yum remove docker
#下载docker-ce源(国外可使用阿里源)
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
# 直接使用阿里deocker-ce源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 指定docker版本 20.10.12 这里安装k8s 1.23.6
yum install docker-ce-20.10.12 docker-ce-cli-20.10.12 containerd.io docker-compose-plugin
# 重启docker
systemctl restart docker

docker-compose安装

注意docker和docker-compose有版本对应,需要自行查验

#从国外服务器下载并安装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
# 授权
chmod +x /usr/local/bin/docker-compose

国外下载比较慢,亲们都懂的,所以推荐国内源

#从国内服务器https://get.daocloud.io下载并安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 授权
chmod +x /usr/local/bin/docker-compose
# 查询安装版本
docker-compose --version

docker企业单位私有镜像仓库 Harbor 搭建_第1张图片

安装 Harbor

官网给出了两种安装模式,在线安装包或离线安装包。其区别是离线安装包里面含有镜像,在线版本在安装时则去Docker Hub拉取镜像。我们这里使用离线安装包。

# 下载离线包
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
# 解压
tar zxvf harbor-offline-installer-v2.4.1.tgz
cd harbor

这存在问题 使用wget 下载很慢,可以使用迅雷下载,下载完成后上传主机即可。

在 harbor 文件夹里可以看到有一份文件 harbor.yml.tmpl,这是 Harbor 的配置信息,我们复制一份并进行修改(以下仅显示修改部分):

# 复制生成配置文件
cp harbor.yml.tmpl harbor.yml
# 修改配置
vi harbor.yml

这里只使用http 80端口即可,使用https 443需要签发证书,自行签发证书是不授信的,需要配置docker文件,如是k8s集群,各个节点存在增减,维护起来相对困难,直接使用http 80即可。

配置文件只需要修改的项

# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 47.14.7.36 # 本机IP

# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80 # hhtp80端口

# https related config
#https:   #不启用https 使用https需要配置证书而且证书必须授信否则docker无法登录和拉取镜像
# https port for harbor, default is 443
#port: 8443 #443端口修改
# The path of cert and key files for nginx
#certificate: /usr/local/harbor/data/cert/harbor.yunzaixian.top.crt #后续生产的正书
#private_key: /usr/local/harbor/data/cert/harbor.yunzaixian.top.key #后续生产的正书

# # Uncomment following will enable tls communication between all harbor components
# internal_tls:
# # set enabled to true means internal tls is enabled
# enabled: true
# # put your cert and key files on dir
# dir: /etc/harbor/tls/internal

data_volume: /usr/local/harbor/data/images # 文件保存目录
location: /usr/local/harbor/data/logs # 日志保存目录

配置完成后执行构建启动

./install.sh --with-chartmuseum

Harbor UI管理

直接访问安装主机地址,端口号80
http://IP:80
或者使用域名解析到当前主机
如:http://harbor.yunzaixian.top
docker企业单位私有镜像仓库 Harbor 搭建_第2张图片
使用默认账号/密码登录
admin/Harbor12345

docker 登录

docker 上传镜像和拉取镜像都需要登录到 harbor中

# 登录 harbor
docker login -u admin -p Harbor12345 http://harbor.yunzaixian.top

docker推送镜像和拉取镜像

docker推送镜像

首先docker需要将镜像打tag
docker tag 镜像名:TAG harbor地址/项目/镜像名:TAG
其次执行推送
docker push harbor地址/项目/镜像名:TAG
如:
docker tag my-toos:1.001 harbor.yunzaixian.top/my-toos/my-toos:1.001
docker push harbor.yunzaixian.top/my-toos/my-toos:1.001

docker 拉取镜像

docker推送完镜像后点击项目
docker企业单位私有镜像仓库 Harbor 搭建_第3张图片
进入镜像详细
docker企业单位私有镜像仓库 Harbor 搭建_第4张图片
拉取镜像命令复制
docker pull 19.19.10.34/application-monitor/application-monitor@sha256:62125e99c07e7a7798b2244ca7cdd458edce31b9397b3765aaa5f89b3d22bd7b
docker企业单位私有镜像仓库 Harbor 搭建_第5张图片
最后docker启动镜像到容器即可

你可能感兴趣的:(docker,docker,容器,运维)