search
LoginSignup
168
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Docker上でRedmineをすぐに使い始める

Docker上でRedmineをすぐに使い始める

はじめに

飛ぶ鳥を落とす勢いのDockerですが、まだまだ本番環境には使うのは怖いです。
今のところは開発用のRedmine動かすのに使うくらいがちょうどよさそうです。
あらかじめ配布されているコンテナイメージを使って素早くDocker上のRedmineを使い始めてみます。

構成

今回はVagrantでCoreOSを立ち上げて、CoreOS上にRedmineのコンテナを立ち上げる構成とします。

Vagrantのインストール

本記事ではVagrantのインストールの詳細は割愛します。
"vagrant インストール" などで検索してみてください。

CoreOSのイメージダウンロード

CoreOSはDockerのホストOSとして必要最小限の機能だけを持った軽量なOSです。
githubにCoreOSのVagrantファイルがあるので落としてきます。

ホストPC
$ git clone https://github.com/coreos/coreos-vagrant/

Vagrantのポートフォワーディング設定

CoreOSを立ち上げる前にVagrantのポートフォワーディングの設定をしておきます。
今回はCoreOSの80番ポートをホストPCの3000番ポートにマッピングしてます。

Vagrantfile
config.vm.network :forwarded_port, guest: 80, host: 3000

CoreOSの立ち上げ

Vagrantを使ってCoreOSの入っているイメージを立ち上げて、SSHでつなぎます。

ホストPC
$ vagrant up
$ vagrant ssh

SSHでCoreOSにつながるはずです。

Redmine入りコンテナイメージの取得

Redmineがすでにセットアップされているコンテナイメージを配布してくださっている方がいますので、ありがたく使います。
docker pullでコンテナイメージを取得します。

CoreOS
$ docker pull sameersbn/redmine

なお、プロキシの設定が必要な場合は下記の感じで環境変数の設定をしてdockerを再起動してからpullしてください。

CoreOS
$ sudo systemctl set-environment HTTP_PROXY=http://proxy.example.com:8080/ & sudo systemctl stop docker.service & sudo systemctl start docker.service

Redmineコンテナの立ち上げ

取得したコンテナイメージからコンテナを立ち上げます。

CoreOS
$ docker run -d -p 80:80 sameersbn/redmine

なお、-p 80:80というのはCoreOSとRedmineコンテナとの間のポートフォワーディング設定です。
CoreOSの80番にアクセスすると、Redmineコンテナの80番につながります。

Redmineが正常に起動して、ポートフォワードでつながっているか確認します。

CoreOS
wget http://localhost/ --no-proxy

RedmineのトップページっぽいHTMLが取得できたらOKです。

なお、起動しきる前にアクセスすると500エラーが返ってきます。
少し待ってから確かめてみてください。

ブラウザからアクセスしてみる

ホストのPCのブラウザから下記を開いてみてください。

ホストPC
http://localhost:3000/

無事Redmineのログイン画面が表示されたら終了です。

なお、上で2回ポートフォワーディングの設定をしているので、最終的には下記の感じでつながってます。

ホストPC:3000 → CoreOS:80 → Redmine:80

終わりに

ハードウェアをエミュレートするVirtualBoxあたりだと、VMに割り当てたメモリは使ってなくても消費してしまいますが、Dockerなら使っている分のメモリだけ消費します。
なので、より効率的なリソース消費で、何十個も量産的にRedmineを立ち上げられます。

Redmineは開発チームごとにたくさん立てられるのが理想なので、Dockerとの相性がいいと言えるのではないでしょうか。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
168
Help us understand the problem. What are the problem?