惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
罗磊的独立博客
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
博客园_首页
量子位
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
S
SegmentFault 最新的问题
雷峰网
雷峰网
小众软件
小众软件
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog

博客园 - Hey,Coder!

微信小程序 web方案实现调音器功能 systemctl slice配置docker最大占用cpu 内存 pipenv环境变量配置 .net8验证码 数据库差异对比工具 docker部署prometheus grafana pgexporter Alertmanager ubuntu24 换源 ssh配置 ubuntu24 kvm部署 cockpit web管理界面 .net api代理 Ubuntu 24.04 DMAR IOMMU 报错修复 uniapp iOS App 上架 vs文件软链接 Docker 网络别名 .net8通用中间件处理公共返回值结构 .net环境下OpenTelemetry Body 读取注意事项 jaeger界面显示异常 .net opentelemetry collector jaeger c# opentelemetry 自定义export c# opentelemetry 自定义export c# 生成对象的初始化代码 Elasticsearch ILM 与 Data Stream 概念及实例说明文档 portainer httphelper封装 Ocelot + Consul + SignalR 粘性会话 正交软件架构 docker postgresql17 主从复制 rabbitmq总结与c#示例 docker rabbitmq quartz dashboard docker consul registrator 服务自动注册consul 微服务动态扩容
ubuntu24 Harbor部署
Hey,Coder! · 2026-08-19 · via 博客园 - Hey,Coder!

说明

环境:Ubuntu 24.04 / Harbor v2.14.2 / Docker + Docker Compose Plugin


一、安装 Docker 与 Compose

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable --now docker

验证:

docker --version
docker compose version

二、下载 Harbor 安装包

cd /opt
sudo wget https://github.com/goharbor/harbor/releases/download/v2.14.2/harbor-online-installer-v2.14.2.tgz
sudo tar xzf harbor-online-installer-v2.14.2.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml

离线环境用 harbor-offline-installer-v2.14.2.tgz


三、配置 harbor.yml(HTTP 模式)

编辑 /opt/harbor/harbor.yml

hostname: 192.168.1.100          # 改成你的服务器 IP

http:
  port: 80

# 整段注释掉,不走 HTTPS
# https:
#   port: 443
#   certificate: ...
#   private_key: ...

harbor_admin_password: "YourStrongPassword!123"

database:
  password: "YourStrongDBPassword!123"

四、安装并启动 Harbor

cd /opt/harbor
sudo ./prepare
sudo ./install.sh

安装成功后后台启动(不占用终端):

docker compose up -d

验证所有容器状态为 Up

docker compose ps

浏览器访问 http://192.168.1.100,账号 admin,密码即上面设置的 harbor_admin_password


五、配置 Docker 客户端(关键)

Harbor 是 HTTP 时,每台需要 push/pull 的客户端都必须配置 insecure-registries

编辑 /etc/docker/daemon.json(没有则新建):

{
  "insecure-registries": ["192.168.1.100"]
}

非默认端口写法:["192.168.1.100:8080"]

重启 Docker 生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证:

docker info | grep -A3 "Insecure Registries"

六、登录与推送镜像

# 登录
docker login 192.168.1.100 -u admin
# 输入密码

# 打标签
docker tag nginx:latest 192.168.1.100/library/nginx:latest

# 推送
docker push 192.168.1.100/library/nginx:latest

推送成功后,在 Web UI 的 library 项目下可见该镜像。


七、常用运维命令

/opt/harbor 目录下执行:

操作 命令
后台启动 docker compose up -d
停止 docker compose down
重启 docker compose restart
查看状态 docker compose ps
查看全部日志 docker compose logs -f
查看某组件日志 docker compose logs -f core
查看最近 N 行 docker compose logs --tail=50
修改配置后重载 docker compose down && ./prepare && docker compose up -d
彻底重置(保留 /data docker compose down -v && rm -rf common && ./prepare && docker compose up -d
查看资源占用 docker stats

八、防火墙与端口

sudo ufw allow 80/tcp
sudo ufw reload

云服务器还需在安全组放行 80 端口入方向。


九、注意事项

  • 数据持久化:镜像和数据库保存在 /data/ 目录,重装/升级不会丢失
  • 生产环境:建议启用 HTTPS + 证书,HTTP 仅适合内网开发/测试
  • 升级步骤down → 备份 /data/ → 替换安装包 → ./prepareup -d
  • 客户端数量多时:建议统一用 Ansible/脚本批量下发 daemon.json 配置