利用阿里云ecs部署自己的私有harbor镜像仓库(代码片段)

大聪明Smart 大聪明Smart     2022-12-04     382

关键词:

利用阿里云ECS部署自己的私有harbor镜像仓库

harbor简介

  • 虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。
  • Harbor是由VMware公司开源的企业级的Docker Registry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务。
  • 它主要提供 Dcoker Registry 管理界面UI,可基于角色访问控制,镜像复制, AD/LDAP 集成,日志审核等功能,完全的支持中文。
    在这里插入图片描述

harbor的部署

安装依赖

harbor是依赖于docker和docker-compose的,所以先安装它俩

阿里云180端口放行

安装docker

# epel源
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# yum install epel-release -y
Repository epel is listed more than once in the configuration
Last metadata expiration check: 2:47:33 ago on Wed 16 Jun 2021 03:07:22 PM CST.
Package epel-release-8-10.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!


# 安装docker
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# yum install -y yum-utils
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# yum list docker-ce --showduplicate
Repository epel is listed more than once in the configuration
Docker CE Stable - x86_64                                                     78 kB/s |  14 kB     00:00    
Available Packages
docker-ce.x86_64                              3:19.03.13-3.el8                               docker-ce-stable
docker-ce.x86_64                              3:19.03.14-3.el8                               docker-ce-stable
docker-ce.x86_64                              3:19.03.15-3.el8                               docker-ce-stable
docker-ce.x86_64                              3:20.10.0-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.1-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.2-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.3-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.4-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.5-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.6-3.el8                                docker-ce-stable
docker-ce.x86_64                              3:20.10.7-3.el8                                docker-ce-stable
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# yum install docker-ce -y



# 开机自启动
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
# 启动docker
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# systemctl start docker
# 配置
[root@iZuf6g4e6vhdv58sz2z1klZ ~]#vi /etc/docker/daemon.json

	"graph": "/mydata/docker",
	"storage-driver": "overlay2",
	"insecure-registries": ["registry.access.redhat.com", "quay.io", "harbor.liboer.top"],  # 在此处让你的域名受信任,如果你配了ssl证书可以不用写
	"registry-mirrors": ["https://q2gr04ke.mirror.aliyuncs.com/"],
    "bip": "172.17.0.1/24",
    "exec-opts": ["native.cgroupdriver=systemd"],
    "live-restore":true


# 启动docker
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# systemctl daemon-reload
[root@iZuf6g4e6vhdv58sz2z1klZ ~]# systemctl restart docker

# 查看版本
docker --version

安装docker-compose

[root@aliyun ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   633  100   633    0     0   1128      0 --:--:-- --:--:-- --:--:--  1128
100 16.2M  100 16.2M    0     0   749k      0  0:00:22  0:00:22 --:--:-- 3145k
[root@aliyun ~]# chmod +x /usr/local/bin/docker-compose
[root@aliyun ~]# docker-compose --version
docker-compose version 1.25.0, build 0a186604

安装harbor

[root@hdss12-200 ~]# cd /opt
[root@hdss12-200 opt]# mkdir src
[root@hdss12-200 opt]# cd src
[root@hdss12-200 src]# wget https://github.com/goharbor/harbor/releases/download/v1.9.4/harbor-offline-installer-v1.9.4.tgz
[root@hdss12-200 src]# ls
harbor-offline-installer-v1.9.4.tgz
[root@hdss12-200 src]# tar xf harbor-offline-installer-v1.9.4.tgz -C /opt/
[root@hdss12-200 src]# cd /opt/
[root@hdss12-200 opt]# ll
total 0
drwxr-xr-x. 2 root root  71 Jun 19 02:20 certs
drwx--x--x. 4 root root  28 Jun 19 02:50 containerd
drwxr-xr-x  2 root root 100 Jun 19 04:26 harbor
drwxr-xr-x  2 root root  49 Jun 19 04:07 src
[root@hdss12-200 opt]# mv harbor /opt/harbor-v1.9.4
# 软连接
[root@hdss12-200 opt]# ln -s /opt/harbor-v1.9.4 /opt/harbor
[root@hdss12-200 opt]# ll
total 0
drwxr-xr-x. 2 root root  71 Jun 19 02:20 certs
drwx--x--x. 4 root root  28 Jun 19 02:50 containerd
lrwxrwxrwx  1 root root  18 Jun 19 04:27 harbor -> /opt/harbor-v1.9.4
drwxr-xr-x  2 root root 100 Jun 19 04:26 harbor-v1.9.4
drwxr-xr-x  2 root root  49 Jun 19 04:07 src
[root@hdss12-200 opt]# vim /opt/harbor/harbor.yml
hostname: harbor.liboer.top
http:
  port: 180
data_volume: /mydata/harbor
location: /mydata/harbor/logs
[root@hdss12-200 ~]# mkdir -p /mydata/harbor /mydata/harbor/logs
[root@hdss12-200 ~]# cd /opt/harbor/
[root@hdss12-200 ~]# systemctl restart  docker
[root@hdss12-200 harbor]# ./install.sh
[root@hdss12-200 harbor]# docker ps -a
[root@hdss12-200 harbor]# yum install nginx -y
# 在nginx上添加一个server
server 
    listen       80;
    server_name  harbor.liboer.top;
    
    client_max_body_size 1000m;

    location / 
        proxy_pass http://127.0.0.1:180;
    

harbor的一些镜像

[root@aliyun harbor-v1.9.4]# docker ps -a
CONTAINER ID   IMAGE                                                    COMMAND                  CREATED          STATUS                     PORTS                                     NAMES
0e86a8db6253   goharbor/nginx-photon:v1.9.4                             "nginx -g 'daemon of…"   13 minutes ago   Up 13 minutes (healthy)    0.0.0.0:180->8080/tcp, :::180->8080/tcp   nginx
f5a364606d76   goharbor/harbor-jobservice:v1.9.4                        "/harbor/harbor_jobs…"   13 minutes ago   Up 13 minutes (healthy)                                              harbor-jobservice
972a7a00ffcf   goharbor/harbor-core:v1.9.4                              "/harbor/harbor_core"    13 minutes ago   Up 13 minutes (healthy)                                              harbor-core
d6d338f6ebd7   goharbor/registry-photon:v2.7.1-patch-2819-2553-v1.9.4   "/entrypoint.sh /etc…"   13 minutes ago   Up 13 minutes (healthy)    5000/tcp                                  registry
db6f600d19d5   goharbor/harbor-registryctl:v1.9.4                       "/harbor/start.sh"       13 minutes ago   Up 13 minutes (healthy)                                              registryctl
467f4455614a   goharbor/harbor-db:v1.9.4                                "/docker-entrypoint.…"   13 minutes ago   Up 13 minutes (healthy)    5432/tcp                                  harbor-db
e7bd7b41ca61   goharbor/harbor-portal:v1.9.4                            "nginx -g 'daemon of…"   13 minutes ago   Up 13 minutes (healthy)    8080/tcp                                  harbor-portal
02456f6a16ca   goharbor/redis-photon:v1.9.4                             "redis-server /etc/r…"   13 minutes ago   Up 13 minutes (healthy)    6379/tcp                                  redis
97075c4f04a7   goharbor/harbor-log:v1.9.4                               "/bin/sh -c /usr/loc…"   13 minutes ago   Up 13 minutes (healthy)    127.0.0.1:1514->10514/tcp                 harbor-log

浏览器访问

http://harbor.liboer.top

用户名:admin

密码:/opt/harbor/harbor.yml中你修改的密码

即可登入

向harbor推送nginx镜像

新建一个公共仓库public,然后像public推送镜像

 ~]# docker pull nginx:1.7.9
 ~]# docker tag nginx:1.7.9  harbor.liboer.top/public/nginx:v1.7.9
 ~]# docker login harbor.liboer.top
 ~]# docker push harbor.liboer.top/public/nginx:v1.7.9

此时查看你的harbor仓库,已经推送过来

docker仓库使用+harbor私有仓库部署(代码片段)

...可以我们可以使用国内的 Daocloud 镜像仓库和开通阿里云仓库 或者 Harbor 如果是企业内部也可以使用自己搭建的私有仓库docker-registry使用介绍:Registry用于保存docker镜像,包括镜像的层次结构和元数据#第一步:p... 查看详情

利用harbor搭建企业级私有镜像仓库(文末赠书)(代码片段)

利用Harbor搭建企业级私有镜像仓库(文末赠书)收录于话题#Docker专辑9个「点击图片获取最近两年爆款好文」背景docker中要使用镜像,一般会从本地、dockerHup公共仓库和其它第三方公共仓库中下载镜像,一般出于安全和外网(墙)... 查看详情

docker--harbor私有仓库(代码片段)

Docker--Harbor私有仓库Docker--Harbor私有仓库Harbor很重要阿里云的镜像仓库必须掌握#一.//查看Docker-Compose版本判断安装是否是成功chmod+xdocker-composecpdocker-compose/usr/local/bin/docker-compose-v"由于Harbor镜像仓库的镜像管理要用到compose所以compose... 查看详情

搭建本地docker私有仓库与harbor私有仓库的部署与管理(代码片段)

...ockerHarbor简介2.1什么是Harbor?2.2Harbor的特性2.3Harbor的构成2.4部署Harbor服务前言Docker三要素:镜像,容器,仓库。仓库分为共有仓库和私有仓库:公有仓库就是DokcerHub。外网,受网络影响大。私有仓库就是搭建在... 查看详情

k8s部署harbor仓库实战

...镜像管理,虽然Docker官方也提供了公共的镜像仓库,包括阿里云、腾讯云等都有镜像仓库,但是总是有各自的限制,出于安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerR... 查看详情

11.部署harbor私有仓库(代码片段)

11.部署harbor私有仓库本文档介绍使用docker-compose部署harbor私有仓库的步骤,你也可以使用docker官方的registry镜像部署私有仓库(部署DockerRegistry)。使用的变量本文档用到的变量定义如下:$exportNODE_IP=10.64.3.7#当前部署harbor的节点IP$下... 查看详情

docker企业级私有仓库——harbor介绍和部署(代码片段)

Docker企业级私有仓库——Harbor介绍和部署前言?docker容器应用及开发和运行离不开可靠的镜像管理,在前面的文章我们提到了我们在拉取镜像的时候使用的是docker官方提供的公共镜像仓库,但是无论从安全还是效率等其他方面考... 查看详情

「开源摘星计划」优麒麟系统(国产)部署harbor私有镜像仓库服务(代码片段)

...环境描述  随着国产化浪潮的兴起,企业都逐步将服务部署在国产的操作系统上。  本篇文章则在优麒麟20.04操作系统上部署Harbor2.6.0私有镜像仓库服务,其它版本的Harbor亦可参考本文档。关于优麒麟的详细信息可查看:https... 查看详情

docker学习笔记——镜像仓库制作(公有+私有+harbor)(代码片段)

...ckerhup镜像上传、下载1)镜像上传2)镜像下载3.镜像加速器1)阿里云加速器二、docker本地容器镜像仓库1.使用registry容器镜像实现本地非安全镜像仓库1)下载registry容器镜像2)创建用于挂载至registry镜像启动的仓库中,便于容器镜像... 查看详情

docker学习笔记——镜像仓库制作(公有+私有+harbor)(代码片段)

...ckerhup镜像上传、下载1)镜像上传2)镜像下载3.镜像加速器1)阿里云加速器二、docker本地容器镜像仓库1.使用registry容器镜像实现本地非安全镜像仓库1)下载registry容器镜像2)创建用于挂载至registry镜像启动的仓库中,便于容器镜像... 查看详情

[cka备考实验][ingress-nginx]4.1如何优雅部署自己的ingress-nginx环境

...的代价我给出的折中方案就是在各大云商平台(例如阿里云)租用一台临时的云服务器,该服务器归属地必须在大陆以外(例如香港),租用方法选择“按用量付费” 查看详情

docker进阶-搭建私有企业级镜像仓库harbor(代码片段)

...理公共镜像。既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像。我们可以非常方便的把我们自己镜像推送上去,但是Dockerhub提供的私有仓库个数有限。对于个人来说Dockerhub是个不错的选... 查看详情

docker私有仓库部署和管理(代码片段)

Docker私有仓库部署和管理本章结构:Harbor介绍部署Harbor所依赖的DockerCompose服务部署Harbor服务Harbor日常操作管理Harbor管理生命周期Harbor介绍Harbor是VMware公司开源的企业级DockerRegistry项目Harbor的优势基于角色控制基于镜像的复制策略... 查看详情

docker-harbor私有仓库的部署与管理

...是以Docker容器的形式构建的,使用docker-compose来对它进行部署。用于部署Harbor的docker-compose模板位于harbor/docker-compose.yml2、Harbor的特性1.基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限2.基... 查看详情

私有仓库harbor的搭建(代码片段)

...提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerRegistry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规... 查看详情

docker——harbor私有仓库部署与管理(代码片段)

...构二、Harbor构建Docker私有仓库1、环境配置2、案例需求3、部署docker-compose服务4、部署harbor服务5、启动harbor①访问②添加项目并填写项目名称③通过127.0.0.1来登陆和推送镜像④维护管理Harbor⑤创建Harbor用户⑤移除Harbor服务容器同... 查看详情

docker容器——harbor私有仓库部署与管理(代码片段)

Docker容器——harbor私有仓库部署与管理Harbor简介1、什么是Harbor?2、Harbor的特性3、Harbor的构成二、Harbor部署1.部署Docker-Compose服务2.部署Harbor服务(1)下载或上传Harbor安装程序(2)修改harbor安装的配置文件3.启动Harbor6.使用Docker命令... 查看详情

docker容器——harbor私有仓库部署与管理(代码片段)

Docker容器——harbor私有仓库部署与管理Harbor简介1、什么是Harbor?2、Harbor的特性3、Harbor的构成二、Harbor部署1.部署Docker-Compose服务2.部署Harbor服务(1)下载或上传Harbor安装程序(2)修改harbor安装的配置文件3.启动Harbor6.使用Docker命令... 查看详情