docker部署gogs

本次部署使用Docker镜像构建。
会使用到 gogs/gogs nginx mysql

服务器地址为 192.168.137.251,客户机器为 192.168.137.3
提前修改hosts文件

192.168.137.3 客户机修改hosts,增加以下:

192.168.137.251 gogs.peaw.com

192.168.137.251 服务器修改hosts,增加以下:

127.0.0.1    gogs.peaw.com

刷新dns生效

windows : ipconfig /flushdns
ubuntu : sudo /etc/init.d/networking restart

数据存储挂在目录 /data

创建mysql存储位置

# mkdir -p /data/mysql/gogs

创建gogs存储位置

# mkdir -p /data/gogs

创建nginx配置文件位置

# mkdir -p /data/nginx/nginx.conf

启动container

启动mysql

# docker run -d -p 13306:3306 --name gogs-mysql --restart=always -v /data/mysql/gogs:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456@pk -d mysql

启动gogs

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

启动nginx

# docker run --name=nginx --restart=always -d -p 80:80 -v /data/nginx/conf.d:/etc/nginx/conf.d nginx

初始化数据库

# docker exec -it gogs-mysql /bin/bash
# mysql -u root
# mysql -uroot -p123456@pk
# create database gogs;

配置nginx

切换到nginx配置文件目录

# cd /data/nginx/nginx.conf

配置gogs域名转发

# vim gogs.conf
server {
    listen       80;
    server_name gogs.peaw.com;
    location / {
       proxy_pass http://192.168.137.251:10080/;
      }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

安装参数填写
数据库主机 db.peaw.com:13306

域名 gogs.peaw.com

SSH端口号 10022

HTTP端口号 3000
(容器内部端口,此处只能为3000)

应用URL http://gogs.peaw.com
(如果是IP,则为 http://192.168.137.251:3000 ,此处端口为映射端口,假如 docker run --name=gogs -p 10080:3000 ... ,那此处就应该为 http://192.168.137.251:10080)

点击安装即可。