Search by

    Dockerfileなしで、GCPのCloud Runにコンテナアプリをデプロイする

    gcloud beta run deployをdjangoで使用する。

    下記の記事の内容をdjangoで試行した結果をまとめています。

    やったこと

    • buildpackを導入して、Dockerfileなしでコンテナを作成
    • 上記の仕組みを利用したcloud runのデプロイコマンドを試行

    buildpack

    cloudrunへのデプロイ

    作業ディレクトリでこれだけでOK、上記のbuildpackが裏で動いて、コンテナイメージを作成している。

    gcloud beta run deploy django-cloudrun-buildpack --source . --port=8000

    つまづいたポイント

    djangoを稼働させる時、Procfileにて下記の様にIPアドレスを指定しておかないと、ホストからアスクセスできなかった。 (なぜかデフォルトの127.0.0.1 では動かなかった。)

    web: 
        python manage.py runserver 0.0.0.0:8000

    発見

    • Dockerfileを書かなくても、コンテナを作成できる。すごい。👀

    • コマンド一つで、アプリケーションをcloudrunへデプロイ可能。すごい。👀

    • DBも開発用のものをそのまま利用して、デプロイできるのでモック作成などで重宝するかも。

    • 一方で複数コンテナを使用したりする場合も、自動でイメージを作成できるのか等、疑問点はある。

    要確認

    • IPアドレスについて。0.0.0.0でなければ動かなかった理由は?
    • portをどの様に指定するべきか。
    • gcloud beta run deployコマンドで指定できるオプションについて(cloud runで指定できる実行オプションについて)

    次に試したいこと

    githubにpush後、自動デプロイの仕組みを整える。