AWS
docker

Docker構築

はじめに

proxy、db、rocketchatと3つの構成でdockerコンテナを構築します。
それぞれのコンテナの構成は次のイメージです。

/var/www/
├proxy(nginx)
├db(mongodb) RocketChatのDBとして利用
├rocketchat rocketchat本体
└hubot チャットボット

nginx 近年のトレンドとなっているWebサーバ。Apacheよりもクライアントの同時大量アクセスに強く、メモリ使用量も少ない。
dockerコンテナのサーバに外部から直接アクセスするのは望ましくないため、nginxをReverseProxyにして運用。

mongodb NoSQLデータベース。rocketchatのリポジトリ。

rocketchat SLACK風OSSチャットサービス。

hubot チャットボット。他のチャットサービスでも利用可能。

複数コンテナを扱うため、コンテナ間の依存関係やネットワークの設定はdocker-composeを導入して解決します。

本稿はdockerとdocker-composeの導入までの手順となります。

準備

AWSのamazon linuxインスタンスで実施しています。

始めに、インストール済みパッケージを更新しておきます。

$ sudo yum update -y

Dockerのインストール

$ sudo yum install docker -y

sudoなしでdockerを実行可能にします。

$ sudo usermod -a -G docker ec2-user

docker-composeのインストール

docker-composeをダウンロードします。

$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

実行権限を付与

$ sudo chmod +x /usr/local/bin/docker-compose

docker-composeが実行できることを確認します。

$ docker-compose --version
docker-compose version 1.21.2, build a133471

参考

Amazon ECS における Docker の基本
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.html

Install Docker Compose
https://docs.docker.com/compose/install/#install-compose