Docker-compose安装配置redmine

安裝 Docker 及 Docker-compose

安裝連結:https://docs.docker.com/compose/install/

安裝後開啟 終端機,打上以下指令確認都能取到版本,確認安裝成功

docker -v 指令有輸出結果代表安裝成功
docker-compose -v 指令有輸出結果代表安裝成功

撰寫 docker-compose.yml

開啟編輯器,將以下設定檔貼上並儲存名為 docker-compose.yml
這裡選用 bitnami 提供的 redmine image

version: '3.2' 
services: 
db: 
image: 
mysql:5.7 
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci 
container_name: redmine-mysql 
restart: always 
environment: 
MYSQL_ROOT_PASSWORD: password 
volumes: - ./redmine/
mysql:/var/lib/mysql 
ports: - "3306:3306" 
networks: - net-mysql 
redmine: 
image: bitnami/redmine:latest 
container_name: redmine 
restart: always 
depends_on: - db 
ports: - "80:3000" 
environment: 
REDMINE_DB_MYSQL: db 
REDMINE_DB_PASSWORD: password 
REDMINE_USERNAME: admin 
REDMINE_PASSWORD: password 
REDMINE_EMAIL: redmine@example.com 
SMTP_HOST: smtp.gmail.com 
SMTP_PORT: 587 
SMTP_USER: 
SMTP_PASSWORD:  
volumes: - ./redmine/
redmine_file:/home/redmine/data 
networks: - net-mysql 
phpmyadmin: 
image: 
phpmyadmin/phpmyadmin:latest 
container_name: redmine-phpmyadmin 
restart: always 
depends_on: - db 
ports: - "8080:80" 
environment: 
PMA_HOST: db 
MYSQL_ROOT_PASSWORD: "password" 
networks: - net-mysql 
networks: 
net-mysql:

設定 docker-compose 內容

目前預設的服務帳密

  • MySQL:
    root帳密: root | password
  • phpMyAdmin:
    設定 MySQL 連線帳密及網路
    設定對外的 port 為 8080
  • redmine
    設定 MySQL 連線帳密及網路
    設定平台管理員帳密:admin | password
    設定對外的 port 為 80

尚須設定的資料:平台寄信信箱

此部分預設使用 Gmail 的信箱寄信,你可以直接使用你的 gmail 信箱或申請一個新的 Gmail 信箱,只需要注意如有使用到已有二階段認證(例如手機二次確認登入)的信箱,請申請一個應用程式密碼替代為密碼登入,不然可能沒辦法授權給平台使用寄信。

填入在以上最後兩行,注意信箱及密碼需與冒號空一個半形空格!!!!

建立 Redmine 平台

開啟終端機,切換到與設定檔( docker-compose.yml )同個目錄下
然後執行

docker-compsoe up -d

up 代表啟動
-d 代表在背景執行

執行成功後會看到個別的服務指定 done 表示有啟動成功,

有成功啟動服務的畫面,但不代表已經各個服務間有完全串連成功哦 ~~

確認 Redmine 服務串連建立成功

開啟瀏覽器輸入 http://127.0.0.1:8080 觀看 phpMyAdmin 是否已經啟動

可以使用設定檔中設定的資料庫密碼進行登入,預設為 root | password
串連成功會看到 bitnami_redmine 這個資料庫,代表 redmine 平台有成功串連

開啟瀏覽器輸入 http://127.0.0.1,如果沒看到畫面,可能是平台還在初始化資料,大概是等一分鐘就完成了。

看到平台畫面就代表啟動成功囉

備註:如果啟動後一段時間還看不到畫面的可以使用指令查看服務狀況

docker logs redmine

查看啟動後的狀況,理論上有下方訊息應該就是成功連線到資料庫了,如果有自行修改資料庫帳密的,可以注意一下有沒有同步把 redmine 應該連線的帳密做更新。

成功連線的 logs

以上为https://medium.com/nick-%E5%B7%A5%E7%A8%8B%E5%B8%AB%E5%AD%B8%E7%BF%92%E8%A8%98/%E5%8D%8A%E5%B0%8F%E6%99%82%E4%BB%A5-docker-%E8%87%AA%E5%BB%BA-redmine-%E5%B9%B3%E5%8F%B0-e2f3e683fea5配置blog记录内容.

—————————————分割线—————————————

在配置redmine时候, 可能会出现连接database不成功的局面. 一般报错为连接失败, 或者尝试多次后仍然无法连接. 推测原因是redmine的image中配置连接不匹配.

MARK: 比较坑的是, 官方给的bitnami/redmine该镜像配置不完全, 导致无法连接数据库, 更改配置相对麻烦, 配置路径和docker安装方式相关, 不推荐去寻找配置文件. 使用docker给的其他镜像(如redmine)直接使用配置即可. 以下为建议配置.

version: '3.2' 
services: 
db: 
image: mysql:5.7 
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci 
container_name: redmine-mysql 
restart: always 
environment: 
MYSQL_ROOT_PASSWORD:  
volumes: - ./mysql:/var/lib/mysql 
ports: - "3306:3306" 
networks: - net-mysql 
redmine: 
image: 
redmine:latest 
container_name: redmine 
restart: always 
depends_on: - db 
ports: - "8080:3000" 
environment: REDMINE_DB_MYSQL: 
db REDMINE_DB_USERNAME: 
root REDMINE_DB_PASSWORD:  
volumes: - ./redmine_file:/home/redmine/data 
networks: - net-mysql 
phpmyadmin: 
image: phpmyadmin/
phpmyadmin:latest 
container_name: redmine-phpmyadmin 
restart: always 
depends_on: - db 
ports: - "12258:80" 
environment: 
PMA_HOST: db 
MYSQL_ROOT_PASSWORD: "password" 
networks: - net-mysql 
networks: 
net-mysql:

在本地docker下运行配置即可.

PS: 有可能仍旧报错, 用docker logs redmine 查看信息可知道是无法找到数据库redmine. 手工建立数据库即可.

备注两条Docker命令:

删除在ps进程中还存在的已关闭的container

docker ps -a -q -f status=exited

docker-compose关闭并且移出所有标记的container

 docker-compose down -v –rmi all

Leave a Comment