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

相关推荐
城管不管14 小时前
RabbitMQ死信队列
java·分布式·ai·面试·职场和发展·rabbitmq·agent
cuiyaonan200014 小时前
some weird issues regarding docker
运维·docker·容器
zerwave14 小时前
Docker 学习:多容器网络互通——从 host 模式到自定义 bridge 网络
网络·学习·docker
2601_9564563414 小时前
从研发到交付:嗨动视觉分布式KVM坐席系统的靠谱逻辑
分布式
Java成神之路-15 小时前
Git 合并冲突完全指南:分支合并、拉取冲突、推送冲突
git
程序喵大人15 小时前
【C++进阶】STL容器与迭代器 - 10 把容器、迭代器和数据流串成一个小程序
开发语言·c++·容器·小程序·迭代器·stl
小O的算法实验室15 小时前
AAAI-26,解空间变换引导的节能分布式异构柔性作业车间协同进化
分布式
NutShell Wang15 小时前
拆解 GitHub gh-stack:堆叠 PR 工作流的设计取舍与工程实现
前端·git·开源·github·代码复审·开发者工具·vibe coding
敲代码的嘎仔16 小时前
从零搭建微服务:Spring Cloud Alibaba 全家桶踩坑实录(Nacos + OpenFeign + Gateway + Sentinel)
java·spring boot·spring·spring cloud·微服务·gateway·sentinel
.Hypocritical.1 天前
Git 入门教程
git