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の初期画面表示できた。