首先安装好Docker,以及Compose组件,如果已经安装,忽略此步骤

  1. 首先安装 Docker:
  2. 然后安装 Compose:

安装方式一、Gogs + Sqlite + Nginx

Gogs 支持 Sqlite,对于个人用户,Sqlite 足以应付,所以硬件资源有限的情况下不妨选择 Sqlite。
Gogs 默认端口是 3000,打算把 git.example.com 解析到 3000 端口。

新建一个文件命名为 docker-compose.yml ,然后复制粘贴下面的代码并保存。

version: '2'
services:nginx:container_name: [nginx]image: nginx:alpinevolumes:- "[~/nginx/]:/etc/nginx/conf.d/"ports:- "80:80"restart: alwaysgogs:container_name: [gogs]image: gogs/gogsvolumes:- [~/gogs]:/dataports:- "[3000]:3000"- "[3022]:22"restart: always

如你所见 “[]” 里面的内容你自己决定,可以自由修改,注意实际编写时,要去掉[]符号,比如container_name: [gogs] , 实际编写时,注意写为 container_name: "gogs" , 其他的[xxxname] 也要注意。

保存上面代码为 docker-compose.yml 文件之后,使用命令:

$ docker-compose up -d

即可运行。
默认容器叫做 gogs ,数据保存在 ~/gogs,端口是 30003022

  • - 3022:22 会将 3022 暴露给外网,用于 Git 的 SSH 协议, 不用 SSH 可以去掉。
  • - [~/gogs]:/data 将映射本地的 ~/gogs 目录作为 volume 给容器使用, 根据自己创建的目录修改此项。

启动方式二、Gogs + Mysql + Nginx

如果你不希望使用 Sqlite,而是使用 Mysql,可以使用下面这份 docker-compose.yml

你不需要在本地安装 Nginx 和 Mysql,全文都通过 Docker 来完成。

version: '2'
services:nginx:container_name: [nginx]image: nginx:alpinevolumes:- "[~/nginx/]:/etc/nginx/conf.d/"ports:- "80:80"restart: alwaysdb:container_name: [db]image: mysql:5.7volumes:- "[~/mysql]:/var/lib/mysql"restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: [PASSWORD]MYSQL_DATABASE: [GOGS]MYSQL_USER: [USER]MYSQL_PASSWORD: [PASSWORD]gogs:container_name: [gogs]depends_on:- dbimage: gogs/gogsvolumes:- [~/gogs]:/datalinks:- dbports:- "[3000]:3000"- "[3022]:3022"restart: always

[]”里面的内容你自己决定,可以自由修改,(不改请去掉[]符号,保持括号内的默认值)。

保存上面代码为 docker-compose.yml ,使用 docker-compose up -d 即可运行。

备注:
如果需要新建分支,然后通过Git命令推送到远程仓库中,使用分支注意管理代码,避免使用混乱。

参考转载链接:https://www.jianshu.com/p/424627516ef6  参考文档,原作者:左蓝

通过Gogs部署git仓库相关推荐

  1. 如何将git服务器同步到本地文件夹,使用git在服务器上部署git仓库并实现提交代码时同步代码到生产环境...

    最近由于需要对正在运行的系统进行新功能添加,本来是可以通过github进行代码维护,但是由于这个项目涉及一些问题,目前还不能开源,所以只能是手动覆盖bug文件,生产环境上的代码反而是最新的了. 之前有 ...

  2. Linux安装gogs搭建Git仓库

    安装Gogs之前先安装好mysql,nginx(nginx用作反向代理) 一.gogs默认以git用户运行 新建git用户 adduser git 以git用户登录 su git cd 到git用户主 ...

  3. gogs搭建git仓库

    文章目录 安装宝塔面板 安装git 创建用户(组) 运行gogs 宝塔配置 首次配置 注册为系统服务 配置本地钩子 配置web钩子 配置ssh gogs页面配置 push代码 安装宝塔面板 yum i ...

  4. Docker上部署GitLab , 搭建私有Git仓库 (基于Docker镜像sameersbn/docker-gitlab)

    # 使用docker-compose.yml 安装gitlab服务器 $ wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/ ...

  5. git线上服务器_pm2实现git仓库代码一键配置部署到线上服务器

    第一步 先实现 ssh的免密登录远程服务器: 第二步 初始化项目, 并把项目部署到git仓库 下面用几个最简单的项目做演示, 项目目录下面就这个三个文件 把项目部署到git仓库,记住git仓库地址 比 ...

  6. git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git

    服务器自动部署项目之GitHooks神器 - CSDN博客 -- 每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦.在项目开发中使用git的时候,push之后, ...

  7. 几个Git仓库开源软件的比较

    2019独角兽企业重金招聘Python工程师标准>>> 特性 gitlab gitblit gitbucket gogs gitolite 公开库 √ √ √ √ √ 私有库 √ √ ...

  8. Gogs搭建git服务器

    Gogs简介 Gogs 是一款极易搭建的自助 Git 服务.Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发, ...

  9. webhook php自动部署,git利用webhook实现自动部署​

    在项目部署时,之前采用的方式是登录服务器手动去pull代码,这样做很麻烦而且在服务器管理上也存在一些风险,github和gitlab都提供有webhook功能,可以在项目发生某些变化时,系统向指定的U ...

最新文章

  1. 图灵奖颁给深度学习之父,他们让计算机像学霸一样思考
  2. mongodb php 报错,PHP5 mongodb 切换db报错 Authentication failed on database admin-汗血宝马
  3. 同一数据库如果处理多个完全不同的业务?
  4. php安装pcntl扩展
  5. 图像颜色迁移《color transfer between images》
  6. 【POJ - 1502】MPI Maelstrom(Dijkstra单源最短路--求一点到其余个点的最小值的最大值)
  7. C++面向对象笔记:构造、析构函数、成员函数
  8. 【数据结构】——排序二叉树
  9. Eclipse——在eclipse.ini文件中配置JDK
  10. g6的minimap中的配置_使用GGEditor开发流程编辑应用
  11. vscode c++ 开发环境搭建(离线、内网)
  12. Android studio 使用阿里巴巴图标矢量图库
  13. wechat 微信ipad协议GO版本 最新不封号 长链接 完整版
  14. 从更高到更好 揭开2021阿里双11背后的技术亮点
  15. Unity_播放音乐
  16. 复杂业务下,我们为何选择Akka作为异步通信框架?
  17. Java1.8接口方法都是抽象,判断(1分) Java接口中所有的方法都是抽象的。
  18. html实现个人自我介绍(精)
  19. 一文彻底玩转Android通知栏消息通知
  20. Android应用防xposed注入,android hook 框架 xposed 如何实现注入

热门文章

  1. Linux: wget 使用技巧
  2. Magento 默认排序为最新 How to sort Magento products by date added as default
  3. 人工智障学习笔记——机器学习(12)LDA降维
  4. ubuntu14.04安装opencv3.1(亲测)
  5. Linux发行版本详解
  6. 第一天 学习前的准备
  7. flask-配置的设置-三种配置的实现方法
  8. django-登陆案例-分析篇1909
  9. javascript-dom-文档对象模型
  10. 解决maven项目中,缺少 maven dependencies