一、安装Docker
-
官网安装参考手册
https://docs.docker.com/engine/install/ubuntu/
-
阿里云镜像加速
- 介绍:https://www.aliyun.com/product/acr
- 注册一个属于自己的阿里云账户(可复用淘宝账号)
- 进入管理控制台设置密码,开通
- 查看镜像加速器自己的
查看执行结果:
- 测试命令
docker version
docker run hello-world
docker images
二、安装Compose
Compose 是Docker官方的开源项目。需要安装
- 官网网参考手册
https://docs.docker.com/compose/
官网安装比较慢,我们可以选择国内的一些加速镜像网站进行安装 - 国内镜像安装
https://get.daocloud.io/
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
注意:版本要选当前最新的,否则可能会出现版本不支持的错误
3. 测试命令
docker-compose version
三、安装Redmine
- docker-hup查询镜像
https://hub.docker.com/
- 通过compose安装
官网参考:
- 我们自己环境安装脚本:
version: '3.1'
services:
redmine:
image: redmine:4.2
restart: always
ports:
- 3000:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: 123456
REDMINE_SECRET_KEY_BASE: supersecretkey
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: redmine
ports:
- "3366:3306"
volumes:
- /mount/redmine/mysql/conf:/etc/mysql/conf.d
- /mount/redmine/mysql/data:/var/lib/mysql
- 启动服务
docker-compose up -d
5. 数据字符修改
docker-compose搭建redmine,数据字符集为latin1,系统在保存中文字符的时候会报错,需要我们手动修改数据库的编码为utf8.
通过以下存储过程批量修改表:
DELIMITER $$
CREATE PROCEDURE `redmine`.`update_char_set`()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE t_sql VARCHAR(256);
DECLARE tableName VARCHAR(128);
DECLARE lists CURSOR FOR SELECT table_name FROM `information_schema`.`TABLES` WHERE table_schema = 'redmine';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN lists;
FETCH lists INTO tableName;
REPEAT
SET @t_sql = CONCAT('ALTER TABLE ', tableName, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci');
PREPARE stmt FROM @t_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
FETCH lists INTO tableName;
UNTIL done END REPEAT;
CLOSE lists;
END$$
DELIMITER ;
执行脚本:
ALTER DATABASE redmine DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CALL redmine.update_char_set();
6.访问测试
注意安装敏捷插件后,又可能报如下错误:
查看日志:
docker logs -tf --tail 10 0e0017efbxxx
插件的表没有生成.
解决办法:
进入容器执行:rake redmine:plugins:migrate RAILS_ENV=production
再次点击 成功!撒花。。。