Docker ~本番環境に導入(AWS)~
前回はローカル環境でDockerを導入しました。今回は既にAWSを使用して本番環境にデプロイしているEC2サーバーにDockerを導入したいと思います。
手順はdocker-composeコマンドで実行していきます。
※AWSのECS(コンテナ管理サービス)は利用していません。
EC2にDockerをインストール
本番環境のEC2サーバーへログインして、Dockerをインストールします。
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user
Dockerをインストールして、ec2-userをdockerグループに入れることで、dockerコマンドが実行できます。
docker-composeをインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
バージョン確認でインストールが出来ているのか確認しておきます。
docker-composeファイルをつくる
ローカル環境と同様に本番用のdocker-composeファイルを作ります。自分はローカルで作ったdocker-compose.ymlファイルをコピーしてdocker-compose-production.ymlというファイルをEC2の中でつくりました。
毎回この黒い画面のなかでの操作は冷や冷やします…。笑
間違えないように、ゆっくりと
version: "3.8"
volumes:
php-fpm-socket:
services:
app:
build:
context: .
dockerfile: ./docker/php/Dockerfile
volumes:
- php-fpm-socket:/var/run/php-fpm
- .:/work/backend
environment:
- DB_CONNECTION=mysql
- DB_HOST=RDSユーザー名
- DB_PORT=3306
- DB_DATABASE=XXXX
- DB_USERNAME=XXXX
- DB_PASSWORD=XXXX
web:
build:
context: .
dockerfile: ./docker/nginx/Dockerfile
ports:
- ${WEB_PORT:-80}:80
volumes:
- php-fpm-socket:/var/run/php-fpm
- .:/work/backend
データベースはRDSを使用しているのでローカルで書いていたDBについては消して、appの中にRDSの情報を書いていきます。
docker-composeコマンドを実行
最後にファイル名を指定してコマンドを実行します。ローカルのdocker-compose.ymlを実行しないように注意!
docker-compose -f docker-compose-production.yml up -d
ブラウザでアクセス出来ていたら完了です!
2021-02-23 by
関連記事
コメントを残す