【AWS】EC2にDockerを入れてコンテナを表示させてみる

AWSのEC2にDockerをインストールしてWebサーバーコンテナを立ち上げブラウザから表示させてみたので手順をメモ

※EC2のElasticIPやSecurityGroupなどの設定は完了しており、外部からアクセスできる状態の前提

まずはコマンドラインにてEC2にアクセス

f:id:daylambsbecomelions:20210123161101p:plain

EC2上でdockerをインストール

sudo yum update -y
sudo amazon-linux-extras install docker
(↑Amazon linux2でのみ有効なコマンド。linux1の場合は普通にsudo yum install docker -y。他OSに合わせて適宜変更)

Dockerを立ち上げる

sudo systemctl start docker

ec2-user(ユーザー名)をdockerグループに追加する

sudo usermod -a G docker ec2-user

dockerを再起動して一度EC2から抜ける

sudo systemctl restart docker
exit

再度EC2にアクセスしてdockerを立ち上げるとsudoなしでdockerコマンドが実行可能になる

sudo systemctl start docker

任意のポートでnginxのコンテナを立ち上げる
(以下だと9999番ポート、testというコンテナ名でnginxの公式イメージで立ち上げ)

docker run -d -it --name test -p 9999:80 nginx:latest

セキュリティグループで指定したポートを許可して、まずはEC2側に通してあげる設定が必要
f:id:daylambsbecomelions:20210123170417p:plain

指定したポートでEC2にアクセス(↑の例の場合だと「自分のドメイン:9999」)
https~だと443ポートでのアクセスになるためhttp~:9999でアクセスする

f:id:daylambsbecomelions:20210123171010p:plain

無事表示されました~!