💻

M1 Mac x Django x Heroku: Docker 環境構築メモ

2021/11/10に公開

最終成果物 (Dockerfile/docker-compose.yml 等)

When you want to use Dockerfile for M1 Mac, please access to my github.
https://github.com/ystknsh/docker_django_heroku

自分の方でもDocker Image など全て削除してから再構築もしたので大丈夫かと思っています。が、間違っていたら指摘して頂けると幸いです。

背景

M1 Mac において Python 仮想環境構築は難しい。ややこしそう。
だったので、Docker で作ってみました。

参考記事
M1 MacにPythonインストールして開発環境構築してみた

必要な環境

確認した環境

  • Macbook Air (M1)
  • アプリ、DB作成、DB admin の作成まで確認済み
    • docker-compose run web python3 manage.py startapp {Application Name}
    • docker-compose run web python3 manage.py makemigrations
    • docker-compose run web python3 manage.py migrate
  • heroku CLI でログインできるところまで確認済み(docker 経由でブラウザを開く方法が分からず...)
    • heroku login --interactive

Quick Start

  1. clone to your PC
  2. cd docker_django_heroku
  3. docker-compose run web django-admin.py startproject {Project Name} .
  4. docker-compose up
  5. enter 127.0.0.1:8000 on your browser

でDjango お馴染みの画面が表示されると思います。

node ベースのDockerfile である理由

heroku CLI を利用するため。heroku CLI 不要ならば、Python3 ベースで作っても良いと思います。その場合、Debian ベースになる。

参考記事
https://ja.stackoverflow.com/questions/74654/dockerでpythonイメージからコンテナを作った際-どのosでpythonは動いているのか

TODO

  • Docker 内でheroku コマンドを打つと、log history 等が同じディレクトリに作成・保存されるので解消する方法を調べる。

  • Docker からブラウザ開けるようにしたい

Discussion