DockerProgram学習

WindowsのdockerでBitnami Redmine のコンテナを作成する【簡単】

Docker

プロジェクト管理ツールの定番のひとつであるオープンソースソフトウェア「Redmine」は、プロジェクト管理やタスク管理、お問い合わせ管理、インシデント管理など幅広く利用されています。

今回私が担当している案件で「Redmine」のAPIを使った自動化をする必要がありました。

実際のサーバを構築するのもいいのですが、やはりこういう時こそDocker!!ということで、簡単に試せる方法をご紹介します。

これまで環境構築が大変そうだと諦めていた方でも、気軽に試せます。

今回はRedmineを構築した方なら知っているBitnamiのRedmine(バージョンは4)のコンテナをWindowsのローカルPCにインストールしてみます。

あらかじめDockerの環境は構築済みとします。まだ構築できていない方はこちらを参考にどうぞ。

なお、WIndows10のバージョンが新しい場合(2004以降)はHomeEditionでもコンテナを利用可能です。

空のフォルダ作成

とりあえず、bitnami redmineのdocker-composeファイルを保存するためのフォルダ作成します。

mkdir -p C:\Docker\bitnami-docker-redmine
cd C:\Docker\bitnami-docker-redmine

docker-compose.yamlファイルの作成

あとは公式の手順に従って実行すればよいのですが、Windowsの場合にはcurlで実行するとエラーになります。

Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
> curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-redmine/master/docker-compose.yml > docker-compose.yml
Invoke-WebRequest : パラメーター名 'sSL' に一致するパラメーターが見つかりません。

そのため、Invoke-WebRequestを利用して-OutFileにdocker-compose.ymlを指定してあげましょう。

> Invoke-WebRequest https://raw.githubusercontent.com/bitnami/bitnami-docker-redmine/master/docker-compose.yml -OutFile docker-compose.yml

作成されたdocker-compose.ymlの中身を見てみます。

ポート番号が80で起動されてしますのでもしぶつかってしまう場合には別ポートを指定しましょう。

version: '2'
services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.3
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_redmine
      - MARIADB_DATABASE=bitnami_redmine
    volumes:
      - 'mariadb_data:/bitnami'
  redmine:
    image: docker.io/bitnami/redmine:4
    environment:
      - REDMINE_DB_USERNAME=bn_redmine
      - REDMINE_DB_NAME=bitnami_redmine
    ports:
      - '80:3000'
    volumes:
      - 'redmine_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  redmine_data:
    driver: local

コンテナ作成、しかしエラーに・・

それではコンテナを作成します。

PS C:\Docker\bitnami-docker-redmine> docker-compose up -d
.
.
ERROR: readlink /var/lib/docker/overlay2/l: invalid argument

でも作成時にエラーになってしまいました。

docker-compose.ymlを変更(posgresqlにしてみる)

どうもmariadbの部分がよろしくないようだたので、公式ページみてpostgresqlを利用するように変更してみます。以下に書き換えてください。

version: '2'
services:
  postgresql:
    image: 'bitnami/postgresql:11'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - POSTGRESQL_USERNAME=bn_redmine
      - POSTGRESQL_DATABASE=bitnami_redmine
    volumes:
      - ./postgresql_data:/bitnami/postgresql
  redmine:
    image: 'bitnami/redmine:4'
    ports:
      - '80:3000'
    environment:
      - REDMINE_DB_POSTGRES=postgresql
      - REDMINE_DB_USERNAME=bn_redmine
      - REDMINE_DB_NAME=bitnami_redmine
    volumes:
      - ./redmine_data:/bitnami
    depends_on:
      - postgresql
volumes:
  postgresql_data:
    driver: local
  redmine_data:
    driver: local

書き換えたらコンテナを起動してみます。今後はうまくいきました。

PS C:\Docker\bitnami-docker-redmine> docker-compose up -d
Creating network "bitnami-docker-redmine_default" with the default driver
Creating volume "bitnami-docker-redmine_postgresql_data" with local driver
Pulling postgresql (bitnami/postgresql:11)...
11: Pulling from bitnami/postgresql
fd7a9faefc3c: Pull complete
d536c3e345f9: Pull complete
50bfab191a3f: Pull complete
d1535e010484: Pull complete
34d54351a8e0: Pull complete
c6ea6092a641: Pull complete
dcd9e568a8a2: Pull complete
4e44229c90f4: Pull complete
b04d36a18236: Pull complete
2bd0bc5fa133: Pull complete
2a6870fd2541: Pull complete
d0c6005510d8: Pull complete
f97d1e7c427e: Pull complete
Digest: sha256:bd119861516bbe6c9d8849aaa83d831df06db03428d787fda9faf1763226ce4a
Status: Downloaded newer image for bitnami/postgresql:11
Pulling redmine (bitnami/redmine:4)...
4: Pulling from bitnami/redmine
fd7a9faefc3c: Already exists
632a22b6f9cc: Pull complete
1844d1f0c6d1: Pull complete
3797e305275a: Pull complete
2a8d2f262c3e: Pull complete
8bd4a1df80f1: Pull complete
097da3df52f1: Pull complete
38a7e06bc7ff: Pull complete
33f99c81c7d7: Pull complete
c5c874cb5377: Pull complete
401325634fb3: Pull complete
302f9e23df61: Pull complete
c03c1ea804e6: Pull complete
Digest: sha256:6ac5a75105ee59af09d3608619cbc7ddc901cbeecec0d5581e962210323943ff
Status: Downloaded newer image for bitnami/redmine:4
Creating bitnami-docker-redmine_postgresql_1 ... done
Creating bitnami-docker-redmine_redmine_1    ... done
PS C:\Docker\bitnami-docker-redmine> docker-compose ps
               Name                              Command               State          Ports
---------------------------------------------------------------------------------------------------
bitnami-docker-redmine_postgresql_1   /opt/bitnami/scripts/postg ...   Up      5432/tcp
bitnami-docker-redmine_redmine_1      /app-entrypoint.sh /run.sh       Up      0.0.0.0:80->3000/tcp

Redmineの動作確認

ログオンしてみる

それではアクセスしてみます。localhostの80にアクセスします。

公式ページに書いてありますが少し探しにくいです。

Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

初期ユーザーは「user」、パスワードは「bitnami1」です。

日本語化してみる

プロジェクト作成してみる

プラグインを追加する

こちらの記事で今回の続きとしてプラグイン追加を行っておりますので是非参考にしてください。

Dockerのオススメ勉強方法

私がオススメするDocker初心者向けの最初に購入すべき書籍は「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築です。

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

本書ではDockerの基本的な概念などの座学ももちろんありますが、実際に、Dockerのインストール方法やWebサーバーをコンテナで構築するハンズオンを通じて学習することができるため、特に初心者の方はは分かりやすい内容となっています。

今回は以上となります。

コメント