前回の続きというわけではないんですが、せっかく作成したインスタンスがあるので、Docker Compose を使って Redmine をインストールしてみました。備忘録。
AWS の10分間チュートリアルで EC2 インスタンスを起動してから HTTP アクセスするまで - kntmr-blog
バージョン情報
一応、カーネルのバージョンを確認。
$ uname -r
4.14.47-56.37.amzn1.x86_64
Docker インストール
$ sudo yum update -y $ sudo yum install -y docker $ docker -v Docker version 18.03.1-ce, build 3dfb8343b139d6342acfd9975d7f1068b5b1c3d3 $ sudo service docker start $ sudo usermod -a -G docker ec2-user # ec2-user を docker グループに追加 $ exit # ssh 再接続する $ docker info # sudo なしで OK
Docker Compose インストール
Install Docker Compose | Docker Documentation
$ sudo -i # スーパーユーザーで実行 $ curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose # 実行権限付与 $ exit # スーパーユーザーここまで $ docker-compose --version docker-compose version 1.21.2, build a133471
docker-compose.yml 作成
適当なディレクトリに docker-compose.yml
を作成する。
$ vi docker-compose.yml
GitHub - sameersbn/docker-redmine: Docker Image for Redmine
内容は上記にある docker-compose-mysql.yml
とほぼ同じですが、少しだけ手を入れます。全体は以下の通り。
version: '2' services: mysql: image: sameersbn/mysql:latest environment: - DB_USER=redmine - DB_PASS=password - DB_NAME=redmine_production volumes: - /srv/docker/redmine/mysql:/var/lib/mysql redmine: image: sameersbn/redmine:latest depends_on: - mysql environment: - TZ=Asia/Tokyo - DB_ADAPTER=mysql2 - DB_HOST=mysql - DB_PORT=3306 - DB_USER=redmine - DB_PASS=password - DB_NAME=redmine_production - REDMINE_PORT=10083 - REDMINE_HTTPS=false - REDMINE_RELATIVE_URL_ROOT=/redmine - REDMINE_SECRET_TOKEN= - REDMINE_SUDO_MODE_ENABLED=false - REDMINE_SUDO_MODE_TIMEOUT=15 - REDMINE_CONCURRENT_UPLOADS=2 - REDMINE_BACKUP_SCHEDULE= - REDMINE_BACKUP_EXPIRY= - REDMINE_BACKUP_TIME= - SMTP_ENABLED=false - SMTP_METHOD=smtp - SMTP_DOMAIN=www.example.com - SMTP_HOST=smtp.gmail.com - SMTP_PORT=587 - SMTP_USER=mailer@example.com - SMTP_PASS=password - SMTP_STARTTLS=true - SMTP_AUTHENTICATION=:login - IMAP_ENABLED=false - IMAP_HOST=imap.gmail.com - IMAP_PORT=993 - IMAP_USER=mailer@example.com - IMAP_PASS=password - IMAP_SSL=true - IMAP_INTERVAL=30 ports: - "10083:80" volumes: - /srv/docker/redmine/redmine:/home/redmine/data
実行
Docker Compose を実行して Redmine のコンテナを起動する。
$ docker-compose up -d # -d でバックグラウンド実行
10083 ポートで /redmine
にアクセスすると Redmine の画面が表示される。
リバースプロキシ
前回インストールした Apache のリバースプロキシを使って、80 ポートの /redmine
でアクセスできるようにする。
$ sudo -i # スーパーユーザーで実行 $ vi /etc/httpd/conf.modules.d/00-proxy.conf # 下記参照 $ exit # スーパーユーザーここまで $ sudo service httpd restart
00-proxy.conf
の設定内容は以下の通り。
ProxyRequests Off ProxyPass /redmine http://127.0.0.1:10083/redmine ProxyPassReverse /redmine http://127.0.0.1:10083/redmine
80 ポートでアクセスすると Redmine の画面が表示されるはず。admin / admin でログインできます。
まとめ
Docker Compose 便利。