RedmineをDockerに構築

前回はDokcer Desktopの構築まで行ったので、その続き。
marusho1266.com


Dokcer Desktop上にRedmineを構築する流れは以下のようになる。

docker-compose.ymlの作成・配備

まずはdocker-compose.ymlファイルを作成する

docker-compose.ymlとはアプリケーションを構成する各サービスを定義したファイルの事。

詳しくは以下参照
docs.docker.jp


今回は構築にあたり、以下のような内容のファイルを作成した。

# docker-compose.yml
version: '3'

services:
  redmine:
    image: redmine:latest
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: example
      REDMINE_SECRET_KEY_BASE: supersecretkey
    volumes:
      - redmine_files:/usr/src/redmine/files
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: redmine
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:
  redmine_files:

内容としては、RedmineMySQLデータベースの2つのサービスを利用するといった内容が定義されている。

この作成したファイルを、PCの任意のフォルダに配備する。

コンテナの起動

コマンドプロンプトでdocker-compose.ymlが配備されたディレクトリに移動し、以下のコマンドを実行する。

docker-compose up -d

実行するとこのようなメッセージが出力され、定義したコンテナ達が起動する。

Docker Desktopでも、起動していることが確認できる。

この状態でツリーを開き、Port(s)をクリック(もしくはhttp://localhost:3000に接続)するとRedmineを起動する事ができる。


ここで利用したdocker-composeとは複数のコンテナを定義し実行する Docker アプリケーションのためのツールの事。

詳しくは以下を参照。
https://docs.docker.jp/compose/index.html

ポート開放

自PCだけで利用するならここまでOKだが、他の人も利用する場合、Redmineで利用しているポートを解放する必要がある。

念のためポート開放の手順を以下に記載


  • 詳細設定を選択


  • 「新しい規則」を選択


  • 「ポート」を選択


  • TCP」を選択し、特定のポートにRedmineのポートを入力。(今回は3000で定義しているのそれを入力)


  • 「接続を許可する」を選択


  • 初期値のまま次へ


  • 任意の名称を入力

これでポート開放がされるので、他PCからも接続ができるようになる。

ここまででDockerへのRedmine構築は完了となる。