なぜ Heroku の上で Docker を使用するアプリを実行するのか?

アプリをパッケージ化する業界標準の Docker を活用し、生産性の高い開発者体験、統合された継続デリバリ、管理されたインフラ基盤を提供する Heroku 上で運用することで、様々な恩恵を受けることができます。

開発/本番環境のシームレスな移行

ローカル環境で開発した Docker イメージを同一性を保ちながら本番環境に展開。ローカルマシンで動作するコードが、本番環境でも同じように動作することを確信しながらデプロイできます。

柔軟性

Heroku を利用すれば、ビルドされている Docker イメージを Container Registry を利用してデプロイすることも、 Review AppsHeroku Pipelines を利用して Heroku 上で Dockerfile をビルドすることも可能です。

マネージドプラットフォーム

Docker を使用しているからといって、独自のコンテナインフラ環境を構築する必要はありません。Heroku を使用すると、コンテナオーケストレーション、インフラの維持、HTTP ルーティング、堅牢なアドオンエコシステム、世界規模で展開する SRE および運用チームといった、Heroku のメリットを得ることができます。

開発生産性を向上するワークフロー

開発者とチームの生産性を考慮して設計されたワークフローを使用して、アプリのビルドとデリバリを行いましょう。Heroku PipelineとReview Appsを活用して、アプリ開発プロセスを構造的で透明性が高く、かつシンプルに継続的デリバリのワークフローを実現できます。


Docker 化されたアプリのビルドをより高い生産性で

Docker 化されたアプリのビルドと実行

あなたのコードと Dockerfile をプッシュすれば、あとのアプリのビルドとデプロイは Heroku にお任せ。Heroku はコンテナオーケストレーションも行ってくれます。

Docker を利用してあなたのスタックをカスタマイズ

あなたが選択した OS パッケージマネージャを利用して、パッケージやライブラリをインストールできます。Heroku は、どんな OS ベースのイメージもサポートします。

Review Apps を使って変更点のテスト

プルリクエスト毎に自動的に Heroku の一時的なアプリが構築され、コードの変更を確認、テスト、検討することが可能です。

Docker で開発し、Heroku にデプロイ

ローカル環境では Docker を利用して、準備ができたらコードと Dockerfile をプッシュし、Heroku 上でビルドして Docker イメージをデプロイしましょう。

ビルド環境が数秒で起動

他のビルドシステムと違い、Heroku なら待ち時間なく Docker イメージのビルドを開始できます。


さぁ、始めましょう

より詳しい説明

Deploy via Container Registry Build Docker images
  • Docker Builds with heroku.yml is awesome. We've started to migrate to Docker, and Heroku allows us to maintain the same deployment method whilst enjoying the benefits of Docker.

    Zapnito logo Karl Freeman Software Engineer, Zapnito