HighLab

LightsailのコンテナでDjangoをデプロイするがエラーになってしまう対処法

  • 公開日:
  • 更新日:
  • 文字数:948文字

デプロイしても、失敗になり、logを見ると「Took too long」と表示され、時間がかかりすぎでいるとなってしまってます。
最初私はOpen portsの設定で、80のHTTPにしていたのでこれが原因かとOpen portsを8000のHTTPにしました。
エンドポイントを設定してあげないと「404 No Such Service」になります。
結局これだけだとまだエラーになります。

原因は、
Dockerfileの最後に

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

を追加する必要がありました。
私の場合Dockerfile

FROM python:3.7
ENV PYTHONUNBUFFERED 1

RUN mkdir /app
WORKDIR /app

COPY requirements.txt /app/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

COPY . /app/

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

このように設定し、buildをし直し、lightsailのimageにアップし直してください。
その後、デプロイするとうまくできました。

そのエラーで、下記エラーが出ました。

exec user process caused: exec format error

このエラーの対処法はこちら

エラーは大変ですね...8時間近く悩みました...
少しでも時間短縮に役立てば幸いです。
よきDjangoライフを

参考文献

https://stackoverflow.com/questions/65470225/docker-compose-and-django-app-using-aws-lighstail-containers-fail-to-deploy