自己动手部署git服务网站——docker gogs

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。我们先来讲最常用的部署方式:docker。

下载gogs的docker镜像

docker pull gogs/gogs

创建gogs存储的目录

mkdir -p /var/gogs


gogs 的Git repositories 和 Gogs data都存储在该目录的格式


目录结构

运行镜像, 产生容器

docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

我们平时运行影响更希望他在后台运行

docker run --name=gogs -d -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

10022:22表示公网端口号10022映射到内网22
10080:3000表示公网端口号10080映射到内网3000
在浏览器通过10080端口访问网站,比较重要的配置是域名要改成公网IP,SSH端口号要用服务器映射的端口号10022,http端口号用docker环境监听的内网端口号300,
应用URL通过10080访问。


配置

保存配置,注册用户,第一个用户默认为管理员

现在可以正常的使用git服务网站了。

!!!docker gogs 网站的迁移!!!

docker版本gogs的网站迁移非常简单,我们在部署好后,使用

docker ps

查看容器id


容器id

进入docker gogs容器

docker exec -it 8a19c53aca5d /bin/bash

进入docker gogs容器

退到根目录

cd /

data目录

gogs网站应用部署在app中,而网站应用的数据,就全部在data中。而我们在创建docker gogs的时候曾经在创建了gogs存储的目录

mkdir -p /var/gogs

主机该目录的内容就是,容器中data目录的备份,我们在做网站迁移是,只需要拷贝出主机中/var/gogs中的数据,在另外主机拉起gogs容器后,将拷贝出来的数据覆盖掉容器中的data目录数据即可

docker cp git 8a19c53aca5d:/data
docker cp gogs 8a19c53aca5d:/data
docker cp ssh 8a19c53aca5d:/data

你可能感兴趣的:(自己动手部署git服务网站——docker gogs)