用更简单的方式部署、升级或迁移Gogs服务。
$ docker pull leafney/ubuntu-gogs $ docker run --name mygogs -d -p 10080:3000 -p 10022:22 -v /home/tiger/gogsfile:/app leafney/ubuntu-gogs 默认挂载目录结构:
/app gogs-repositories gogs custom conf app.ini data gogs.db log gogs.log xorm.log 数据库类型(Database Type): 选择SQLite3数据库文件路径(Database Path): Sqlite3使用绝对路径/app/gogs/data/gogs.db或者也可以使用默认相对路径data/gogs.db仓库根目录(Repository Root Path): 更改为绝对路径/app/gogs-repositories运行系统用户(Run User): 使用默认用户git域名(Domain): 填写Docker宿主机的主机名或物理地址或要使用的域名(不带http/https) 如192.168.137.140SSH 端口号(SSH Port): 如果你映射Docker外部端口如10022:22那么这里就填写10022;不要勾选“使用内置SSH服务器”(Don't tick Use Builtin SSH Server)HTTP 端口号(HTTP Port): 如果映射Docker外部端口如10080:3000这里要使用容器端口:3000应用 URL(Application URL): 使用域名和公开的HTTP端口值的组合(带http/https) 如http://192.168.137.140:10080日志路径(Log Path): 使用路径/app/gogs/log(推荐) 或默认值/home/git/gogs/log
更多数据库(MySQL、PostgreSQL、SQLite3、MSSQL)配置详见:Docker-Ubuntu-Gogs数据库及初始化配置
更多注意事项详见:Docker for Gogs
当以上各项配置完成,点击 立即安装 按钮后页面会跳转至首页并自动登陆设置的管理员账户,如果完成这一步,说明项目配置成功。
如果需要进行项目升级或迁移,该容器和Gogs官方中介绍的升级方式一致,详见:二进制升级 - Gogs。
- 在启动容器后,复制原项目目录下的
custom、data和log三个目录到容器挂载目录下的gogs目录中,再将原项目中仓库数据复制到挂载目录的gogs-repositories中。 - 重启容器即可。
- 获取新版本Docker Gogs容器,启动容器时指定挂载目录为原旧版本容器挂载目录
-v /home/tiger/gogsfile:/app或将原旧版本容器挂载目录下的gogs和gogs-repositories两个目录拷贝并覆盖到新挂载目录下。 - 重启容器即可。