概要
AWSでEC2インスタンスを立てて、そこにdocker環境を作り、その上でGrowiを運用する方法をご紹介します。
ちなみに、EC2インスタンス構築の記事はたくさんありますので、それらの詳細は省かせていただきます.
EC2構築の参考
環境
- マシンイメージ: Amazon Linux 2 AMI (HVM), SSD Volume Type
構築
root昇格
$ sudo su -
dockerインストール
$ yum install -y docker
// 確認
$ docker -v
Docker version 18.06.1-ce, build e68fc7a215d7133c34aa18e3b72b4a21fd0c6136
docker-composeインストール
公式を参照して最新を取得してください。
$ curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
// 確認
$ docker-compose -v
docker-compose version 1.24.1, build 4667896b
自動起動設定
$ systemctl enable docker
docker実行ユーザー設定
dockerグループ作成(なければ)
$ groupadd docker
現行ユーザをdockerグループに所属させる
$ gpasswd -a $USER docker
dockerデーモンを再起動
$ systemctl restart docker
exitして再ログインすると反映
$ exit
$ sudo su -
Growiインストール
gitインストール
$ yum install -y git
Growiをクローン
$ cd /home/ec2-user
$ git clone https://github.com/weseek/growi-docker-compose.git growi
外部から80ポートでアクセスできるように変更
$ cd /home/ec2-user/growi
$ vi docker-compose.yml
app:
build:
context: .
dockerfile: ./Dockerfile
ports:
- 80:3000 # ← 公式の説明通り、ローカル以外からも使いたいので`127.0.0.1`を外す
links:
- mongo:mongo
- elasticsearch:elasticsearch
depends_on:
- mongo
- elasticsearch
コンテナ起動
$ docker-compose up -d
確認
グローバルIP(Elastic IP)または設定したドメインの3000ポートにブラウザからアクセスしてみてください。
以下のような画面が表示されれば成功です!!
参考記事