C0726D03-容器镜像管理使用手册
》 文档版本:v1.0 》 更新日期:2025-07-27 》 维护人:C0726团队
目录
- 背景与概述
- Harbor 简介与访问方式
- 项目结构与命名规范
- Docker 镜像使用规范
- 镜像推送与拉取指南
- 权限管理
- CI/CD 集成指南(Gitea Actions)
- 密钥与认证管理
- 安全建议
- 附录
背景与概述
为更好地管理 c0726 项目的容器化资源,我们部署了私有 Harbor 镜像仓库,并在其中建立了专属项目空间 c0726。该仓库用于集中管理所有与项目相关的镜像,配合 Gitea 实现自动化部署、版本控制和安全隔离。
Harbor 简介与访问方式
1. Harbor 服务信息
- 访问地址:
https://docker-repo.pleuston.org - 项目名称:
c0726 - 管理员邮箱: devops@greenshadecapital.com
- TLS/SSL: 已启用SSL保护,仅允许HTTPS访问
2. 登录方式
Web 界面
- 打开浏览器访问
https://docker-repo.pleuston.org; - 使用项目分配的账户密码登录(首次由管理员提供);
- 登录后可查看、管理镜像仓库、用户权限、Webhook等内容。
CLI (Docker Login)
docker login docker-repo.pleuston.org
Username: 《your-username》
Password: 《your-password》
项目结构与命名规范
命名规则
镜像命名统一遵循如下格式:
docker-repo.pleuston.org/c0726/《模块名》:《版本号》
示例:
docker-repo.pleuston.org/c0726/fastapi-app:1.0.3
docker-repo.pleuston.org/c0726/nginx-proxy:latest
Tag 管理建议
- latest:仅供开发调试使用,禁止部署到生产。
- 《版本号》:推荐使用语义化版本(如 1.0.0),每次发布必须打具体版本。
- 《分支标签》:如
dev,test,prod,用于环境隔离。
Docker 镜像使用规范
构建镜像
所有镜像需使用项目内统一的 Dockerfile 标准模板,使用多阶段构建优化体积。
docker build -t docker-repo.pleuston.org/c0726/fastapi-app:1.0.0 .
推送镜像
docker push docker-repo.pleuston.org/c0726/fastapi-app:1.0.0
拉取镜像
docker pull docker-repo.pleuston.org/c0726/fastapi-app:1.0.0
镜像推送与拉取指南
1. 配置本地 Docker 认证
登录 Harbor:
docker login docker-repo.pleuston.org
2. 推送镜像
docker tag myapp:dev docker-repo.pleuston.org/c0726/myapp:dev
docker push docker-repo.pleuston.org/c0726/myapp:dev
3. 拉取镜像
docker pull docker-repo.pleuston.org/c0726/myapp:dev
权限管理
项目角色
| 角色 | 权限描述 | | -- | | | 项目管理员 | 全部权限,含用户管理 | | 开发者 | 推送镜像、拉取镜像、创建标签等 |
注意:访客无法从公共仓库拉取镜像,只能从项目仓库拉取镜像。
申请与授权
- 请通过管理员邮箱提交用户添加申请。
CI/CD 集成指南(Gitea Actions)
本项目使用 Gitea Actions 进行自动构建和部署,示例工作流如下:
示例 .gitea/workflows/deploy.yml
...
...
...
- name: Docker Login to Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login docker-repo.pleuston.org -u ${{ secrets.HARBOR_USERNAME }} --password-stdin
- name: Build and Push Image
run: |
docker build -t docker-repo.pleuston.org/c0726/fastapi-app:latest .
docker push docker-repo.pleuston.org/c0726/fastapi-app:latest
- name: Remote Deploy
run: |
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no root@server-ip
"
docker login docker-repo.pleuston.org -u PleustonDevOps -p Carvinte#13756613077 && \
docker pull docker-repo.pleuston.org/c0726/fastapi-app:latest && \
docker stop fastapi || true && \
docker rm fastapi || true && \
docker run -d --name fastapi -p 8000:8000 docker-repo.pleuston.org/c0726/fastapi-app:latest
"
密钥与认证管理
1. Harbor 认证密钥
-
推荐使用 Gitea Secrets 配置:
HARBOR_USERNAMEHARBOR_PASSWORD
2. SSH 登录远程服务器
- 使用
sshpass和 Gitea Secrets 实现非交互式登录 - 建议使用 SSH key 替代密码并加入
~/.ssh/authorized_keys
3. Gitea Secrets 配置位置
在仓库 → Settings → Secrets 中配置:
| Key | 用途 |
|---|---|
| HARBOR_USERNAME | Harbor 登录用户名 |
| HARBOR_PASSWORD | Harbor 登录密码 |
| SSH_PASSWORD | 远程服务器 root 密码 |
安全建议
- Harbor 强制使用 HTTPS。
- 禁止将 Harbor 密码硬编码在代码中。
- 镜像构建中不应包含敏感信息(如明文密码)。
- 所有远程部署建议使用密钥方式而非明文密码。
- 定期清理过期镜像与 tag。
附录
常用命令备忘
# 构建镜像
docker build -t docker-repo.pleuston.org/c0726/app:1.0.0 .
# 推送镜像
docker push docker-repo.pleuston.org/c0726/app:1.0.0
# 拉取镜像
docker pull docker-repo.pleuston.org/c0726/app:1.0.0
# 登录 Harbor
docker login docker-repo.pleuston.org
如需支持或报错反馈,请联系项目 DevOps 管理员:devops@greenshadecapital.com。