Dockerコンテナ上で開発したDjangoをHerokuにデプロイするにはいくつか方法があります。
1、Djnagoソースのみをデプロイする。
2、docke buildでimageをビルドしてHerokuにデプロイする。
3、herokuのコマンドでimageのビルドとデプロイを行う。
etc...
今回は3の方法を使ってデプロイしたいと思います。
heroku containerにログインしておきます。
herokuのAPI_KEYを予め環境変数へ設定しておけば下記のようにログインができます。
$ heroku container:login
DockerImageのビルドとレジストリへのpushを行います。
引数に設定しているwebはherokuのプロセスタイプです。
--appオプションにHerokuのapp名を指定します。
$ heroku container:push web --app HEROKU_APP_NAME
最後にpushしたDockerImageをHerokuにリリースしてます。
これを行うことでHerokuへデプロイされます。
$ heroku container:release web --app HEROKU_APP_NAME
DockerfileにCMDを指定しておけばデプロイ後に実行されます。