阿里云主机使用 docker-compose 部署 harbor 镜像仓库

文章目录

    • @[toc]
    • docker-compose 安装
    • harbor 安装
      • 修改配置文件
      • 导入离线镜像
      • 部署前预处理
      • 开始安装
      • 开通安全策略组
      • docker 配置

现在国内 dockerhub 镜像加速多多少少都有问题,这里采用离线包的方式来部署

harbor-github 下载地址

找到对应的版本,下载带有 offline 字眼的包,我这里部署的是 2.9.4 版本

docker-compose 安装

这里就默认大家都有 docker 环境

docker-compose-github 下载地址

我这里下载的是 v2.26.0 版本

cp docker-compose-linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

验证 docker-compose 命令

docker-compose --version

正常返回版本号

Docker Compose version v2.26.0

harbor 安装

下载完成后,解压安装包

tar xvf harbor-offline-installer-v2.9.4.tgz
cd harbor

修改配置文件

cp harbor.yml.tmpl harbor.yml

我只修改了下面几个配置,然后注释了 https 的配置

# 如果只是内网访问,设置为内网 IP,别用 127.0.0.1 或者 localhost 这种地址
# 如果需要外网访问,就必须设置为外网域名或 IP
hostname: core.harbor.domain.com
# 浏览器访问的端口,默认是 80,看自己的需要调整
http:port: 8888
# 没考虑 ssl,就注释了下面 https 相关的配置
#https:
#  # https port for harbor, default is 443
#  port: 443
#  # The path of cert and key files for nginx
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path
# harbor 的 admin 密码
harbor_admin_password: CN@harbor
# harbor 的数据持久化目录,选一个自己磁盘充足的目录
data_volume: /data/harbor-2.9.4/harbor-data

导入离线镜像

离线包的好处就是镜像都打包好了,直接导入就可以了

docker load -i harbor.v2.9.4.tar.gz

部署前预处理

./prepare

返回下面这些内容,说明预处理完成了

预处理就是把 harbor.yml 的内容,生成 harbor 的配置文件

prepare base dir is set to /data/harbor-2.9.4
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

开始安装

./install.sh

一顿输出,看到 successfully 说明安装完成了

[Step 0]: checking if docker is installed ...Note: docker version: 25.0.4[Step 1]: checking docker-compose is installed ...Note: Docker Compose version v2.24.7[Step 2]: loading Harbor images ...
Loaded image: goharbor/nginx-photon:v2.9.4
Loaded image: goharbor/trivy-adapter-photon:v2.9.4
Loaded image: goharbor/harbor-portal:v2.9.4
Loaded image: goharbor/harbor-core:v2.9.4
Loaded image: goharbor/harbor-log:v2.9.4
Loaded image: goharbor/harbor-jobservice:v2.9.4
Loaded image: goharbor/harbor-exporter:v2.9.4
Loaded image: goharbor/prepare:v2.9.4
Loaded image: goharbor/harbor-db:v2.9.4
Loaded image: goharbor/harbor-registryctl:v2.9.4
Loaded image: goharbor/redis-photon:v2.9.4
Loaded image: goharbor/registry-photon:v2.9.4[Step 3]: preparing environment ...[Step 4]: preparing harbor configs ...
prepare base dir is set to /data/harbor-2.9.4
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Clearing the configuration file: /config/nginx/nginx.conf
Clearing the configuration file: /config/registry/passwd
Clearing the configuration file: /config/registry/config.yml
Clearing the configuration file: /config/db/env
Clearing the configuration file: /config/core/app.conf
Clearing the configuration file: /config/core/env
Clearing the configuration file: /config/registryctl/env
Clearing the configuration file: /config/registryctl/config.yml
Clearing the configuration file: /config/log/logrotate.conf
Clearing the configuration file: /config/log/rsyslog_docker.conf
Clearing the configuration file: /config/portal/nginx.conf
Clearing the configuration file: /config/jobservice/env
Clearing the configuration file: /config/jobservice/config.yml
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
loaded secret from file: /data/secret/keys/secretkey
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dirNote: stopping existing Harbor instance ...[Step 5]: starting Harbor ...
[+] Running 9/10⠸ Network harbor-294_harbor    Created                                                                                                                                                   2.3s✔ Container harbor-log         Started                                                                                                                                                   0.6s✔ Container harbor-portal      Started                                                                                                                                                   1.2s✔ Container registryctl        Started                                                                                                                                                   1.2s✔ Container harbor-db          Started                                                                                                                                                   1.3s✔ Container redis              Started                                                                                                                                                   1.0s✔ Container registry           Started                                                                                                                                                   1.3s✔ Container harbor-core        Started                                                                                                                                                   1.5s✔ Container nginx              Started                                                                                                                                                   2.0s✔ Container harbor-jobservice  Started                                                                                                                                                   1.9s
✔ ----Harbor has been installed and started successfully.----

查看服务

docker-compose ps

STATUS 这块都是 Up 就说明起来了

NAME                IMAGE                                COMMAND                  SERVICE       CREATED              STATUS                        PORTS
harbor-core         goharbor/harbor-core:v2.9.4          "/harbor/entrypoint.…"   core          About a minute ago   Up About a minute (healthy)
harbor-db           goharbor/harbor-db:v2.9.4            "/docker-entrypoint.…"   postgresql    About a minute ago   Up About a minute (healthy)
harbor-jobservice   goharbor/harbor-jobservice:v2.9.4    "/harbor/entrypoint.…"   jobservice    About a minute ago   Up 58 seconds (healthy)
harbor-log          goharbor/harbor-log:v2.9.4           "/bin/sh -c /usr/loc…"   log           About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal       goharbor/harbor-portal:v2.9.4        "nginx -g 'daemon of…"   portal        About a minute ago   Up About a minute (healthy)
nginx               goharbor/nginx-photon:v2.9.4         "nginx -g 'daemon of…"   proxy         About a minute ago   Up About a minute (healthy)   0.0.0.0:9999->8080/tcp, :::9999->8080/tcp
redis               goharbor/redis-photon:v2.9.4         "redis-server /etc/r…"   redis         About a minute ago   Up About a minute (healthy)
registry            goharbor/registry-photon:v2.9.4      "/home/harbor/entryp…"   registry      About a minute ago   Up About a minute (healthy)
registryctl         goharbor/harbor-registryctl:v2.9.4   "/home/harbor/start.…"   registryctl   About a minute ago   Up About a minute (healthy)

开通安全策略组

在阿里云控制台里面开启对应的网络安全策略组

docker 配置

这里可以配置内网的 ip 地址,只要公网能通,就不影响,配置到 /etc/docker/daemon.json 里面

"insecure-registries": ["http://172.17.133.182:9999"]

登录验证

docker login 172.17.133.182:9999

输入用户名和密码,返回 Login Succeeded 说明成功了

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI实践】Ollama本地安装大模型服务

Ollama安装运行 安装与配置 Download Ollama 安装默认在C盘,成功后,window任务栏图标会有Ollama Logo 为了不占用C盘更大的空间,修改模型下载路径,修改环境变量 下载模型 由于我电脑是第六代Intel,集显,…

(56)MOS管专题--->(11)MOS管三个极的判定

(11)MOS管三个极的判定 1 目录 (a)IC简介 (b)数字IC设计流程 (c)Verilog简介 (d)MOS管三个极的判定 (e)结束 1 IC简介 (a)在IC设计中,设计师使用电路设计工具(如EDA软件)来设计和模拟各种电路,例如逻辑电路、模拟电路、数字信号处理电路等。然后,根…

【算法题】搜索二维矩阵,一文彻底弄会!

目录 一、题目描述 二、解题思路 1、引言 2、思路推导过程 三、参考答案 一、题目描述 搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数…

【C++】多态|原理|override|final|抽象类|多继承虚函数表|对象模型|虚表打印|(万字详解版)

目录 ​编辑 一.多态的概念 二.多态的构建 虚函数 重写 虚函数重写的例外 协变 隐藏 析构函数的重写 三.重载、重写(覆盖)、隐藏(重定义)的对比 四.C11新增的 override 和 final override final 五.抽象类 六.多态的原理 虚函数表 总结: 引用…

非常好用的7个Vue3组件库!!【送源码】

说到Vue,怎能不提Vue3呢? 它的大名鼎鼎主要归功于一项革命性的创新——Composition API。 这个新功能为逻辑复用带来了前所未有的友好性和灵活性,让开发者们在构建应用时如鱼得水。 如果你现在正在使用Vue3,或者在新的一年考虑…

浏览器上直接运行近 1000个 AI 模型!

今天推荐的开源项目叫做 tansformers.js,这是一个不需要服务器端,能让你在浏览器上使用到自然语言处理、计算机视觉等 AI 能力的开源项目。由 xenova 开源,transformers.js 已经在 GitHub 上获得了超过 9.2K 颗星星。 项目简介 transformers.…

JVM如何确定方法调用

方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定调用哪一个方法,不涉及方法内部的具体运行过程。在程序运行时,进行方法调用是最普遍、最频繁的操作,但Class文件的编译过程中不包含传统编译中的连接步骤,一…

医学人工智能项目如何申请基金?

小罗碎碎念 本期推文面向的群体 青年教师有志硕博/博后 尤其适合一直认真追小罗推文的老师/同学,你们会发现自己在看这篇推文的时候,遇到自己领域的项目时,文思如泉涌,仿佛马上就能把本子写好,哈哈。(运用…

命令词:引导行动的语言工具

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

App UI 风格打造独特体验

App UI 风格打造独特体验

Web前端小路线:探索与开发之旅

Web前端小路线:探索与开发之旅 Web前端开发,作为互联网技术的核心领域之一,吸引了无数热爱技术与创意的开发者。在这个充满挑战与机遇的领域中,如何规划一条适合自己的学习路线,成为了许多初学者和进阶者关注的焦点。…

通过Stream流对集合进行操作

Stream Api是JDK8提供的新特性,可以更为方便地对集合进行操作,比如我今天遇到的一个场景: 将本地的一个视频文件分成多块上传到Minio服务器,现在上传功能已经完成,需要调用minioClient对已经上传的文件重新合并成一个新…

8086汇编 add指令学习

ADD,是Intel x86平台的汇编加法指令,MEM代指操作数为内存或寄存器,REG代指操作数为寄存器,IMM代指立即数,SEG代指操作数为段寄存器。 形式和示例如下; ADD MEM8,REG8 ADD DS:[BXSI],AL ADD MEM16,R…

Centos7.9部署单节点K8S环境

Centos7.9部署单节点K8S环境 通过Centos extras镜像源安装K8S环境,优点是方便快捷,缺点是版本较低,安装后的版本为1.5.2。 1. 准备工作 关闭selinux [rootlocalhost ~]# cat /etc/selinux/config# This file controls the state of SELin…

【ARM Coresight Debug 系列 -- ARMv8/v9 Watchpoint 软件实现地址监控详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 ARMv8/v9 Watchpoint exceptionsWatchpoint 配置信息读取Execution conditionsWatchpoint data address comparisonsSize of the data accessWatchpoint 软件配置流程Watchpoint Type 使用介绍WT, Bit [20]: Watchpoint TypeLBN, B…

vue技巧(十)全局配置使用(打包后可修改配置文件)

1、背景 vue打包目前主流用的有webpack和vite两种,默认用的webpack。(二者的区别大家可以各自上网查,我没用过vite,所以不过多介绍)vue通过webpack打包后,源码会被压缩,但一些关键配置可…

【新课程】PICO VR 交互开发指南

从PICO开始,迈向XR跨平台开发 Unity XR Interaction Toolkit (简称XRI)是一套跨平台的 XR 交互开发工具包,随着版本的更新与完善,逐渐获得了开发者的青睐。各 XR 平台逐步推荐开发者采用 XRI 作为首选的交互开发工具为…

Pytest框架中fixture功能详解

文章目录 1 定义 Fixture函数 2 Fixture 的函数参数 2.1 传入其他fixture函数作为参数 2.2 传入request对象参数 示例1:访问fixture的调用者 示例2:使用fixture的参数 3 Fixture 的作用域参数scope 3.1 scopeclass场景 3.2 scopesession场景 4…

SwiftUI 6.0(iOS 18)新容器视图修改器漫谈

概览 本届 WWDC 2024 观影正如火如荼的进行中,一片鸟语花香、枝繁叶茂的苹果树上不时结出几颗令人垂涎欲滴的美味苹果让秃头码农们欲罢不能。 如您所愿,在界面布局“利器” SwiftUI 这根蔓藤也长出不少喜人的果实,其中在 iOS 18.0 中新添加的…

rabbitMQ的简单使用

rabbitMQ的介绍 RabbitMQ是一个开源的消息代理和队列服务器,主要用于在不同的应用程序之间传递消息。它基于AMQP(Advanced Message Queuing Protocol)协议,提供了一种可靠的方式来处理异步通信。RabbitMQ使用Erlang语言编写&…