docker-compseでnginx構築
nginxのインストール
$ sudo mkdir /var/www
$ sudo mkdir /var/www/devops
$ sudo chown -R ec2-user:ec2-user /var/www/devops
$ cd /var/www/devops
$ mkdir nginx
$ sudo chown -R ec2-user:ec2-user nginx
$ touch docker-compose.yml
ymlファイルを編集します。
docker-compose.yml
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- ./nginx/mysite.template:/etc/nginx/conf.d/mysite.template
command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
volumesで指定したconfを作成します。
$ mkdir nginx
$ vi nginx/mysite.template
mysite.template
server {
listen 80 default;
server_name _;
root /var/www/html;
charset utf-8;
access_log off;
error_log off;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
インストール&起動します。
$ docker-compose up -d
セキュリティグループを変更する
このままでは外部からのアクセスができないため、AWSコンソールでセキュリティグループの変更をしてHTTPポートを開放します。
- AWSの「インスタンス」より、起動中インスタンスに表示されているセキュリティグループを選択します。
- 「インバウンド」の「編集」ボタンをクリックし、タイプ「HTTP」を選択して保存します。
- ブラウザから
http://[インスタンスのIPアドレス]
でアクセスします。
参考