<<返回

CentOS 7如何用Docker安装开源git仓库管理软件Gogs?

安装MySql并配置好账号

下载Gogs镜像

创建本地Gogs目录

创建Gogs容器

启动Gogs容器

配置Nginx以便外网访问

创建管理员账号

命令行创建账号

参考

CentOS 7如何用Docker安装开源git仓库管理软件Gogs?

安装MySql并配置好账号

先安装mariadb:

docker pull mariadb/server
docker run -d --name maria -p 3306:3306 -eMARIADB_ROOT_PASSWORD=mypassword mariadb/server

再进入容器maria,创建gogs专用数据库:

docker exec -it maria bash
mysql -uroot -pmypassword
mysql> create database gogs default charset=utf8;
mysql> grant all on gogs.* to 'gogs' identified by 'dbpassword';
mysql> flush privileges;

下载Gogs镜像

docker pull gogs/gogs

如果你还没安装Docker,请先参考安装: CentOS 7如何安装Docker Engine?

创建本地Gogs目录

mkdir -p /var/gogs

创建Gogs容器

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

其中端口10022和10880可以自定义,前一个是基于ssh访问,后一个是基于http访问。

启动Gogs容器

docker start gogs

配置Nginx以便外网访问

Nginx参考配置:

server {
    listen 80;
    server_name 你的域名;

    location / {
        proxy_pass http://localhost:10880;
    }
}

创建管理员账号

Gogs的规则是,第一个创建的账号就是管理员,Email不是必须的。

按上面步骤配置好Nginx之后,打开你配置的域名访问Gogs, 然后点击注册按钮并完成管理员账号创建。

第一次访问,会看到一个安装网页, 在安装网页必须填好正确的MySql数据库地址、账号和密码:

数据库地址:172.17.0.1:3306
数据库账号:gogs
数据库密码:dbpassword

其中数据库ip地址需要用ifconfig在服务器查看Docker虚拟网络的本机ip。

以后如果需要审核新的账号, 管理员账号登陆后进入:Admin > Users 就可以审核了。

命令行创建账号

除了上述网页的方式管理账号,还可以在服务器里用命令来添加账号:

su git
cd /home/git/gogs
./gogs admin create-user --name tmpuser --password tmppassword --admin --email [email protected]

上面示例假设你的Gogs是以git账号运行的,并且安装在/home/git/gogs目录, 它将创建一个用户名为tmpuser和密码为tmppassword的新用户。

以Docker方式运行的话, 上述命令应该在你的Docker容器里完成,进入到容器:

docker exec -it gogs bash

参考