やる気がストロングZERO

やる気のストロングスタイル

AWS EC2で[docker-compose up]一発実行でDjango動作させるようにセッティングした

EC2上で[docker-compose up]一発でDjango webアプリが動作するところまでセッテイングした。

手順

aws ec2インスタンスを作成する

・セキュリティーグループでhttpとsshを開くように設定する
sshでログイン。ユーザー名がec2-userであることに注意
・sudo yum update -yする
・git をインストールする
・下記リポジトリコードをgit cloneする
https://github.com/mixmaru/django_nginx_uwsgi_environment

dockerをインストールする

yum -y insatall docker

と実行すると

docker is available in Amazon Linux Extra topic "docker"

To use, run
# sudo amazon-linux-extras install docker

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

と出たので指示に従って

sudo amazon-linux-extras install docker

を実行

docker-composeをインストール

cocker-composeがなかったので https://docs.docker.com/compose/install/#install-compose ここを参考にインストール

Dockerサービスの起動

参考)https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/docker-basics.html#install_docker
dockerサービスの起動
またsudoなしで実行できるようにした

sudo service docker start
sudo usermod -a -G docker ec2-user

コンテナ起動

docker-compose up

appのビルドでコケた

RUN apt -y install nginx=1.14.0-0ubuntu1.1
Version '1.14.0-0ubuntu1.1' for 'nginx' was not found

と言われる
nginxのバージョン指定をやめると行けた。また調べる。

webアクセスしてみる

webアクセスしてみるとエラー

Invalid HTTP_HOST header: '(ec2のパブリックDNS)'. You may need to add '(ec2のパブリックDNS)'' to ALLOWED_HOSTS.

Djangoの設定ファイルの ALLOWED_HOSTSにurlを追加してみた。

Djangoの初期画面表示できた。