簡介:
gogs是一款基於go語言編寫的自助git服務。以下介紹使用docker部署gogs服務。
PS:前提要安裝好docker,並且docker要求docker-ce-18.06.2.ce-3.el7 版本及以上。通過yum直接安裝的docker 1.13版本會導致docker容器內部通信出現網絡問題。
1.創建容器網絡
docker network create hilvil
2.安裝mysql和gogs
創建mysql存儲目錄
mkdir -pv /opt/docker/data/mysql/data
創建mysql配置文件目錄
mkdir -pv /opt/docker/data/mysql/conf
在/opt/docker/data/mysql/conf 目錄下建立3個mysql配置文件docker.cnf、mysql.cnf和mysqldump.cnf
docker.cnf內容如下:
[mysqld]
skip-host-cache
skip-name-resolve
mysql.cnf配置文件內容如下:
[mysql]
default-character-set = utf8
[mysql_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 修改mysql默認字符集
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
mysqldump.cnf內容如下:
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
安裝mysql和gogs
docker network create hlvil
docker pull mysql:latest
docker pull gogs/gogs:latest
docker run -d --name mysql --network hlvil -e MYSQL_ROOT_PASSWORD=root -v /opt/docker/data/mysql/data:var/lib/mysql -v /opt/docker/data/mysql/conf:/etc/mysql/conf.d mysql:latest
docker run -d --name gogs -p 10022:22 -p 10080:3000 --network hlvil -v /opt/docker/gogs:data gogs/gogs:latest
由於我用的是一臺阿里雲服務器進行配置,所以要先到阿里雲後臺配置安全訪問規則,開放10080端口和10022端口。另外,注意,開放本機的防火牆端口。
創建gogs數據庫。
docker exec -it mysql /bin/bash
mysql -u root -p
#輸入密碼 root 接着執行創建gogs的sql語句
create database if not exists gogs default charset utf8 collate utf8_general_ci;
開放本機的10080和10022端口。
firewall-cmd --zone=public --add-port=10022/tcp --permanent
firewall-cmd --zone=public --add-port=10080/tcp --permanent
firewall-cmd --reload
3.配置gogs
打開網頁 服務器IP:10080 配置如下,其他配置根據自己需要配置。