LoginSignup
2
2

More than 1 year has passed since last update.

AWS EC2にDocker ComposeでRedmineを導入

Last updated at Posted at 2021-06-19

事前準備

AWS EC2にDockerでDocker Compose(1.29.2)を導入 を参照してDocker Composeを利用できる環境を準備しておきます。

作業ディレクトリに移動

[ec2-user@ip-xxx-xx-xx-xxx container01]$ cd /home/docker/container01

docker-compose.ymlを作成

作成したdocker-compose.ymlは以下に配置。

/home/docker/container01
├ docker-compose.yml

今回も試すにあたり、AWS EC2にDockerでRedmineを導入 を参照させて頂きました。

  • コンテナはRedmine、MySQLを分けてymlファイルを作成
  • Redmineのベースイメージには「redmine:passenger」(※1)を指定
  • portsには3000番ポートを指定
  • volumesにはコンテナ破棄とともにデータが失われないように、外部マウント先(コンテナ外)のストレージに保存
  • MySQLのベースイメージには「mysql:5.7」を指定(執筆時点の最新)

※1
Phusion Passenger(非公式にはmod_railsとmod_rackともいう)は、Apache上でRedmaine等Ruby on Railsアプリケーションを実行するためのソフトウェア

version: '3.9'

services:
  redmine:
    image: redmine:passenger
    container_name: redmine
    ports:
      - 3000:3000
    environment:
      TZ: Asia/Tokyo
      REDMINE_DB_MYSQL: mysql
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redmine
      REDMINE_DB_ENCODING: utf8
    depends_on:
      - mysql
    restart: always
    volumes:
      - /var/www/redmine/files:/usr/src/redmine/files
      - /var/www/redmine/log:/usr/src/redmine/log
      - /var/www/redmine/plugins:/usr/src/redmine/plugins
      - /var/www/redmine/public/themes:/usr/src/redmine/public/themes


  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      TZ: Asia/Tokyo
      MYSQL_ROOT_PASSWORD: devops
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine
      MYSQL_PASSWORD: redmine
    volumes:
      - mysql-data:/var/lib/mysql
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci


volumes:
  mysql-data:
    name: mysql-redmine

docker-composeコマンドを実行し、Dockerコンテナ(複数)をバックグラウンド起動

[ec2-user@ip-xxx-xx-xx-xxx container01]$ docker-compose up -d
Creating network "container01_default" with the default driver
Creating volume "mysql-redmine" with default driver
Pulling mysql (mysql:5.7)...
5.7: Pulling from library/mysql
69692152171a: Pull complete
1651b0be3df3: Pull complete
951da7386bc8: Pull complete
0f86c95aa242: Pull complete
37ba2d8bd4fe: Pull complete
6d278bb05e94: Pull complete
497efbd93a3e: Pull complete
a023ae82eef5: Pull complete
e76c35f20ee7: Pull complete
e887524d2ef9: Pull complete
ccb65627e1c3: Pull complete
Digest: sha256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Status: Downloaded newer image for mysql:5.7
Pulling redmine (redmine:passenger)...
passenger: Pulling from library/redmine
69692152171a: Already exists
0a1f774fea41: Pull complete
3b32b9ebaa42: Pull complete
8115e4beca50: Pull complete
f6fc87221cc8: Pull complete
fecc3ffdf342: Pull complete
2c0766a9fc7f: Pull complete
ce9a5ea49a97: Pull complete
3e4aa5d089ef: Pull complete
76af3ce3b4e9: Pull complete
996a27fc010d: Pull complete
343439c2257c: Pull complete
c3f9dc058e2a: Pull complete
e46a18da2156: Pull complete
Digest: sha256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Status: Downloaded newer image for redmine:passenger
Creating mysql ... done
Creating redmine ... done

コンテナの状態を確認

[ec2-user@ip-xxx-xx-xx-xxx container01]$ sudo docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS         PORTS                    NAMES
5d96ebfc23a2   redmine:passenger   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:3000->3000/tcp   redmine
be9531f677b2   mysql:5.7           "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp      mysql

MySQLのコンフィグを設定

[ec2-user@ip-xxx-xx-xx-xxx container01]$ sudo docker exec -it mysql mysql_config_editor set --host=localhost --user=redmine --password
Enter password:    ←★任意のパスワードを入力

Redmine向けにEC2のポートを開放

作成した「docker-compose.yml」ではポート3000番を指定したため、EC2の「セキュリティグループ」を表示してインバウンドルールに3000番ポートを追加する必要があります。
EC2_Remine_3000番ポート開放.PNG

Redmineにアクセス

ブラウザを起動し、 http://[Elastic IP アドレス]:3000 にアクセスする。
以下のようにRedmine画面が表示されれば完了。
Redmineアクセス.PNG

次回の予定

AWS EC2にDocker ComposeでJenkinsを導入する記事を投稿予定。

2
2
0

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
  3. You can use dark theme
What you can do with signing up
2
2