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

相关推荐
guo_wen_qiang9 小时前
docker的备份与迁移
运维·docker·容器
写后端的胖头鱼12 小时前
【高频面试题】微服务项目排查错误流程(万字详解)
微服务·架构·问题定位·链路·线上排错
小小龙学IT12 小时前
Kubernetes 深度实践:架构、API 与避坑指南
容器·架构·kubernetes
cpolar技术支持14 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路
python·nginx·docker·cpolar·sentry
MrSYJ17 小时前
别人再问你路由表是啥,这篇文章摔它脸上
docker·云原生·kubernetes
羑悻17 小时前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
ly768918 小时前
Redis 分布式锁的边界条件:Redlock 争议、锁续期与客户端崩溃后的互斥失效
数据库·redis·分布式·分布式锁·watchdog·redlock
for_ever_love__18 小时前
容器类型全家桶——list、tuple、dict、set 与推导式
python·容器·数据类型·大模型开发
筑梦之路19 小时前
docker-compose方式部署kafka集群(Kraft方式)——筑梦之路
docker·容器·kafka
JavaPub-rodert19 小时前
Docker 镜像地址总失效?基于 DockerHub 项目用 GitHub Actions 做一个自动检测状态页
docker·容器·github