Dockerを使ったサービス構築は
aws ECSのほうがいろいろ便利そうだけど、
とりあえず基本を理解するためにEC2インスタンスを立てて、
Dockerをインストールしnginxイメージでコンテナを作成しブラウザからのアクセスできることを確認してみた。
EC2インスタンスを立てる
無料枠で試すので
マシンイメージ(AMI)は
「Amazon Linux 2 AMI (HVM), SSD Volume Type」
タイプはt2.microを指定。
セキュリティグループは、ssh用の22番とHTTP用の80番を許可したものを指定する。
EC2インスタンスに入ってDockerをインストールする
インスタンスが立ち上がったら、public DNSを確認してsshログインする。
user名は[ec2-user]だったので(デフォルト?変更できる?)
ssh ec2-user@[DNSアドレス]
ログインしたら
sudo yum update -y sudo yum install docker -y
でdockerをインストールする。
sudo service docker start
でdockerデーモンを起動
Dockerでnginxイメージを起動する
sudo docker run -p 80:80 nginx
で、nginxのimageがインストールされてコンテナが作成されhostの80番ポートをnginxコンテナの80番ポートにバインド(フォワード?)する。
public DNSのurlにブラウザからアクセスしたら
nginxの初期画面が表示されていたのを確認できたのでOK。
まだよくわかってないけど、Docker(Docker-composeとかKubernetesとか?)自体でクラスタ管理できるっぽいからわざわざECSを使うメリットってなんなんだろう?
適当に自分でEC2インスタンス立ててクラスタに追加したり外したりしたらいいのではないかと少し思った。
あー、わざわざEC2立ててDockerをインストールしてクラスタ追加したりする作業が軽減されるって事なのかな。