gogs mysql 报错_Gogs 在 Docker 下的部署

Gogs

Gogs 是一款极易搭建的自助 Git 服务。

Gogs 是用 Go 语言开发的,最简单、最快速和最轻松的方式搭建自助 Git 服务。

易安装

除了可以根据操作系统平台通过 二进制运行[1],还可以通过 Docker[2] 或 Vagrant[3],以及 包管理[4] 安装。

跨平台

任何 Go 语言支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。

轻量级

一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。最大程度上节省服务器资源

开源化

所有的代码都开源在 GitHub[5] 上

并且支持多种数据库,例如 MySQL、MSSQL、SQLite3 等。本文就以 Mysql 及 SQLite3 为例,介绍下部署配置。下面都以 docker-compose 方式部署,安装方法见官网[6]。

Gogs + MySQL

1. 配置文件

docker-compose.yml

version: "3"

services:

gogs:

restart: always # 自动重启

image: gogs/gogs

container_name: gogs

ports:

- "6022:22" # ssh 端口

- "6023:3000" # Web 访问端口

volumes:

- ./gogs-data:/data # 数据存储

depends_on:

- mysql

mysql:

restart: always

image: mysql:5

container_name: mysql

environment:

MYSQL_ROOT_PASSWORD: 123456

MYSQL_USER: gogs # gogs 访问数据库用的账号

MYSQL_PASSWORD: gogs123456

ports:

- "6006:3306"

volumes:

- ./conf/my.cnf:/etc/mysql/my.cnf

- ./mysql:/var/lib/mysql

- /etc/localtime:/etc/localtime:ro

# 一般会对 MySQL 进行配置,所以上面采用了 cnf 文件的形式,如果只是修改字符集,也可以使用 command 的形式,如下面所示

# command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci复制代码

my.cnf

[client]

default-character-set=utf8mb4

[mysql]

default-character-set=utf8mb4

复制代码

[mysqld]

character-set-server=utf8mb4

collation-server=utf8mb4_unicode_ci

注意:MYSQL_USER 并非必须,安装页面会要求输入用户名,如果没有配置 MYSQL_USER ,也可以用 root 账户,此时记得设置 MYSQL_ROOT_PASSWORD。

2. 部署

拷贝上述文件到服务器上

然后执行docker-compose up -d,会自动拉取镜像,并启动容器。

如果不是用root访问数据库,就先不急着打开浏览器安装 Gogs,先用 HediSQL(访问数据库工具)打开数据库,赋予gogs用户远程访问权限,否则安装是会报错。

数据库设置不正确:Error 1044: Access denied for user 'gogs'@'%' to database 'gogs',就是没有给gogs访问权限。

e3cc5a38995cbba135ee26100ce374bc.png

还需要自己创建个数据库,例如:gogs(Gogs 能自动创建更好)。

配置好数据库权限后,用浏览器打开http://ip:6023进行 Gogs 的安装。

需要修改的内容:

数据库主机: mysql:3306

数据库用户: gogs

数据库用户密码: ••••••••••

域名: localhost # 改成自己的

SSH 端口号 : 6022

HTTP 端口号 : 6023

应用 URL : http://localhost:6023/复制代码

eac0a221bcc41d96ae806666b2c6b564.png

安装上述配置好后,点击立即安装,就大功告成了。

3592d2344c766fea21b479f5eefe9beb.png

可选设置中,可以禁用注册功能,在禁用注册功能时需要配置管理员账号。

PS:管理员账号不能为admin,会报错

Gogs + SQLite3

方式就更简单了

1. 配置文件

docker-compose.yml

version: "3"

services:

gogs:

restart: always # 自动重启

image: gogs/gogs

container_name: gogs

ports:

- '6022:22' # ssh 端口

- '6023:3000' # Web 访问端口

volumes:

- ./gogs-data:/data # 数据存储复制代码

2. 部署

拷贝上述文件到服务器上

然后执行docker-compose up -d,会自动拉取镜像,并启动容器。

用浏览器打开http://ip:6023进行 Gogs 的安装。记得修改端口和域名,然后点击安装就可以了。

86d967eae6be111e573edc79a6c31ed9.png

参考资料

[1]

二进制运行: https://gogs.io/docs/installation/install_from_binary.html

[2]

Docker 安装: https://github.com/gogits/gogs/tree/master/docker

[3]

Vagrant 安装: https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs

[4]

包管理: https://gogs.io/docs/installation/install_from_packages.html

[5]

Gogs: https://github.com/gogits/gogs/

[6]

Docker Compose: https://docs.docker.com/compose/install/

bef04c49cbce99334dc470bd73ad4194.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个报错"error: kex_exchange_identification: Connection closed by remote host"通常是由于网络连接问题导致的。可能是由于连接超或者远程主机关闭了连接引起的。解决这个问题的方法有以下几种: 1. 确认网络连接稳定:首先确认网络连接是否正常,可以尝试使用ping命令检查与远程主机的连接是否正常,如果网络连接不稳定或者延迟较高,可能会导致连接被关闭。 2. 检查防火墙设置:如果你使用了防火墙,确保已经正确配置了端口转发和规则,以允许与远程主机的连接。 3. 检查SSH配置:如果你使用SSH进行连接,确保SSH服务已经正确配置,并且远程主机的SSH服务在运行。 4. 检查远程主机状态:确保远程主机正常运行,并且没有出现任何故障。检查远程主机的系统日志,查看是否有任何与连接相关的错误信息。 总结起来,解决这个问题的关键是检查网络连接、防火墙设置、SSH配置以及远程主机的状态。通过检查这些方面,你应该能够解决这个报错并成功部署gogs。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker容器外访问报错curl: (56) Recv failure: Connection reset by peer](https://blog.csdn.net/liulihui1988/article/details/128167618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker启动报错 OCI runtime create failed: container_linux.go:380: starting container process](https://blog.csdn.net/qq_29176323/article/details/119937718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [数据融合matlab代码-Code_GRSL_2020_1_dockers:Code_GRSL_2020_1_dockers](https://download.csdn.net/download/weixin_38706824/18964974)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值