Murayama blog.

プログラミング教育なブログ

EC2にDockerをインストールしてRedmineを起動する

EC2(Amazon Linux)上にDockerをインストールして、Redmineを起動するまでのまとめです。たぶん9分くらいでできます。

Dockerのインストール

詳細は公式のドキュメントに載ってるとおり。

Docker Basics - Amazon EC2 Container Service

要点だけ抜粋すると、

yumのアップデートして

[ec2-user ~]$ sudo yum update -y

Dockerのインストールして

[ec2-user ~]$ sudo yum install -y docker

Dockerサービスを起動する。

[ec2-user ~]$ sudo service docker start
Starting cgconfig service:                                 [  OK  ]
Starting docker:                                       [  OK  ]

あとはec2-userをdockerグループに追加すればOK。

[ec2-user ~]$ sudo usermod -a -G docker ec2-user

ここで一旦ログアウトして再度ログインする。先のグループ権限を有効にするため。

docker infoコマンドでインストールを確認する。

[ec2-user ~]$ docker info
Containers: 2
Images: 24
Storage Driver: devicemapper
 Pool Name: docker-202:1-263460-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 702.3 MB
 Data Space Total: 107.4 GB
 Metadata Space Used: 1.864 MB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Kernel Version: 3.14.27-25.47.amzn1.x86_64
Operating System: Amazon Linux AMI 2014.09

以上でDockerのインストールは完了です。

Redmineのインストール

DockerでRedmineをインストールします。ここではDocker Hubで公開されているsameersbn/redmineにお世話になります。

docker pull sameersbn/redmine:latest
docker pull sameersbn/mysql:latest
docker run --name=mysql -d -e 'DB_NAME=redmine_production' -e 'DB_USER=redmine' -e 'DB_PASS=password' sameersbn/mysql:latest
docker run --name=redmine -it --rm -p 80:80 --link mysql:mysql  sameersbn/redmine:latest

ここではMySQLRedmineのDockerイメージをPULLしています(これには数分かかります)。

Dockerコンテナが起動した後、ブラウザでアクセスすると初期アカウントadmin / adminでログインできます。

EC2の起動時間は無視するとここまでで4分くらい。EC2の起動時間合わせても9分でいける、、かな。

バックグラウンドでRedmineを起動するには

先のやり方だと、Redmineのコンテナがフォアグラウンドで起動しているので、バックグラウンドで起動したい場合は、一回止めて次のように起動します。

docker run --name=redmine -d -p 80:80 --link mysql:mysql  sameersbn/redmine:latest

起動中のコンテナの中でごにょごにょしたい場合はdocker execコマンドを使います。

docker exec -it redmine /bin/bash

参考

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!]

Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!]