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 服务。

相关推荐
慧一居士2 小时前
K3s和K8s的区别
容器
BD_Marathon8 小时前
spark.sql报错
大数据·分布式·spark
扶疏52516 小时前
Kubernetes Dashboard、动态卷供应、StatefulSet
容器·kubernetes
Hey_Coder16 小时前
【Git 常用命令速查表(按功能分类)】
git·git基础命令·git命令速查表·git 常用命令
长不胖的路人甲17 小时前
RabbitMQ 死信队列 DLQ
分布式·rabbitmq
可乐ea17 小时前
【Redis八股|第8篇】Redis 分布式锁原理与 Redisson 使用
数据库·redis·分布式·面试题·redis八股
云烟成雨TD19 小时前
Kubernetes 系列【14】对象元数据:标签、标签选择器、命名空间、字段选择器
云原生·容器·kubernetes
colman wang19 小时前
Git指令(Mac)
git·macos
极客先躯19 小时前
高级java每日一道面试题-2026年04月05日-实战篇[Docker]-如何排查容器 OOM 的问题?
java·运维·docker·容器·内存溢出·高级面试
SLD_Allen19 小时前
K8s+Ray:大模型时代AI Workload调度的通用范式
人工智能·容器·kubernetes