Docker Compose搭建Git仓库私服上传微服务

安装 Docker 和 Docker Compose

确保系统已安装 Docker 和 Docker Compose。可通过以下命令检查版本:

bash 复制代码
docker --version
docker-compose --version

若未安装,参考官方文档安装对应版本。

创建 docker-compose.yml 文件

新建目录并创建文件,内容如下:

yaml 复制代码
version: '3'

services:
  gogs:
    image: gogs/gogs:latest
    container_name: gogs
    ports:
      - "3000:3000"
      - "2222:22"
    volumes:
      - ./data:/data
    restart: unless-stopped
  • ports 将容器 3000(Web)和 22(SSH)映射到宿主机。
  • volumes 持久化数据到本地 ./data 目录。

启动 Gogs 服务

运行以下命令启动容器:

bash 复制代码
docker-compose up -d

-d 表示后台运行。

访问并初始化 Gogs

浏览器访问 http://localhost:3000,进入安装页面:

  • 设置数据库类型(SQLite3 或 MySQL/PostgreSQL,需提前配置)。
  • 配置应用 URL、仓库路径等。
  • 创建管理员账户。



验证 SSH 访问

测试 SSH 克隆是否正常:

bash 复制代码
git clone ssh://git@localhost:2222/username/repo.git

确保宿主机 2222 端口未被占用。

数据备份

定期备份 ./data 目录,或通过 Docker 卷管理工具导出数据。

更新 Gogs 版本

停止服务后拉取最新镜像并重启:

bash 复制代码
docker-compose down
docker-compose pull
docker-compose up -d

常见问题

  • 端口冲突 :修改 docker-compose.yml 中的宿主机端口(如 3001:3000)。
  • 权限问题 :确保 ./data 目录可写(chmod -R 777 ./data)。
  • 数据库配置:如需外部数据库,在安装页面填写对应连接信息。

通过以上步骤,可快速部署并维护 Gogs Git 服务。

相关推荐
数翊科技1 小时前
深度解析 HexaDB分布式 DDL 的全局一致性
分布式
DigitalOcean3 小时前
DigitalOcean容器注册表推出多注册表支持功能
容器
cos4 小时前
Fork 主题如何更新?基于 Ink 构建主题更新 CLI 工具
前端·javascript·git
Tony Bai4 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
OpenMiniServer5 小时前
当 AI 成为 Git 里的一个“人”
人工智能·git
Mr_sun.5 小时前
微服务框架课程
微服务·云原生·架构
江湖有缘5 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
坐不住的爱码6 小时前
Bootstrap和application.yml
springcloud
Lam㊣6 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
Carry3456 小时前
不清楚的 .gitignore
前端·git