Docker Redmine 介绍和使用

关于 Redmine

Redmine 是基于 Ruby 开发的项目管理软件,支持多种数据库,有不少自己独特的功能,例如提供 wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如 Perforce、SVN、CVS、TD 等等。这种 Web 形式的项目管理系统通过 项目(Project)的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

官方镜像

官方镜像:https://hub.docker.com/_/redmine

docker pull redmine:4.0.4

Run Redmine with SQLite3

镜像内置 SQLite3

docker run -d --name redmine -p3000:3000 redmine:4.0.4

启动后访问:http://localhost:3000/,默认账号/密码:admin/admin

Run Redmine with MySQL

先启动一个 MySQL5.7,并创建数据库 redmine

docker run -d --name redmine-mysql57 \\
-e MYSQL_USER=redmine \\
-e MYSQL_DATABASE=redmine \\
-e MYSQL_PASSWORD=devdoc.cn \\
-e MYSQL_RANDOM_ROOT_PASSWORD=1 \\
mysql:5.7

启动 redmine,并 link mysql 镜像

docker run -d --name redmine --link redmine-mysql57:db \\
-p3000:3000 \\
-e REDMINE_DB_MYSQL=db \\
-e REDMINE_DB_DATABASE=redmine \\
-e REDMINE_DB_USERNAME=redmine \\
-e REDMINE_DB_PASSWORD=devdoc.cn \\
-e REDMINE_DB_ENCODING=utf8 \\
redmine:4.0.4

不能保存中文

启动登录后发现不能保存中文字符串,原因是创建数据库的字符集不对,默认为:latin1。即使指定了 utf8 也不行。数据库和表的字符集查看方法:

# 登录 mysql 容器
docker exec -it redmine sh
# 登录 mysql
mysql -uredmine -pdevdoc.cn
# 查看数据库字符集
show create database redmine;

mysql> show create database redmine;
+----------+--------------------------------------------------------------------+
| Database | Create Database                                                    |
+----------+--------------------------------------------------------------------+
| redmine  | CREATE DATABASE `redmine` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

# 进入 redmine 库
use redmine;
# 查看表字符集
show create table users;
# 输出如下
...
ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

解决办法,看另一篇:Redmine 常见问题

Run Redmine with RDS

在生产环境中肯定不能往可写层里写数据了,下面是我用的生产配置,数据库用的阿里云RDS,然后 files ,themes 和 plugs 放到了宿主机上。

docker run -d --name redmine \\
-p3000:3000 \\
-v /home/devdoc.cn/docker/redmine-rds/files:/usr/src/redmine/files \\
-v /home/devdoc.cn/docker/redmine-rds/themes:/usr/src/redmine/public/themes \\
-v /home/devdoc.cn/docker/redmine-rds/plugins:/usr/src/redmine/plugins
-e REDMINE_DB_MYSQL=rds.aliyun.com \\
-e REDMINE_DB_DATABASE=redmine \\
-e REDMINE_DB_USERNAME=devdoc.cn \\
-e REDMINE_DB_PASSWORD=devdoc.cn \\
-e REDMINE_DB_ENCODING=utf8 \\
redmine:4.0.4

max key length is 767

Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE INDEX

我创建库的时候选了 utf8mb4 然后就悲剧了,如果你遇到这个问题:utf8mb4 改成 utf8 即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞986 分享
评论 抢沙发

请登录后发表评论