安裝 Docker 及 Docker-compose
安裝連結:https://docs.docker.com/compose/install/
安裝後開啟 終端機,打上以下指令確認都能取到版本,確認安裝成功
撰寫 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 是否已經啟動
開啟瀏覽器輸入 http://127.0.0.1,如果沒看到畫面,可能是平台還在初始化資料,大概是等一分鐘就完成了。
備註:如果啟動後一段時間還看不到畫面的可以使用指令查看服務狀況
docker logs redmine
查看啟動後的狀況,理論上有下方訊息應該就是成功連線到資料庫了,如果有自行修改資料庫帳密的,可以注意一下有沒有同步把 redmine 應該連線的帳密做更新。
—————————————分割线—————————————
在配置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