こんにちは!インターンをやらせていただいているRyuseiです。
今回は、個人プロフィールサイトを DockerとHeroku を使ってデプロイする方法を学びました。試行錯誤もあったので、その過程も含めて学習記録として残しておこうと思います。
🐳 Dockerとは?
Docker(ドッカー)は、アプリケーションを軽量な「コンテナ」として実行・配布できる仮想化技術です。
Dockerの特徴
- 軽量&高速:仮想マシンよりも起動が早く、リソースも少なくて済む。
- 環境の再現性:Dockerfileを使えば、どんな環境でも同じ状態を再現できる。
- 移植性:どこにでも持っていける!
- 管理が楽:アプリごとにコンテナで分けて整理可能。
- 公式リポジトリあり:Docker Hubから必要な環境をすぐ取得可能。
Herokuとは?
Herokuは、クラウド上でWebアプリを手軽に公開できるPaaS(Platform as a Service)です。
Herokuの特徴
- サーバー管理いらず:コードを書くだけで公開できる!
- Git連携OK:GitHubやローカルリポジトリから直接デプロイ可能。
- アドオンが豊富:データベースやログ、メール配信までワンクリックで追加可能。
- スケーリングも簡単:アクセスが増えても安心。
- 無料プランあり:ただし、スリープ機能があるので注意!
実際にやってみたこと
最初はターミナルでのデプロイを試みました。
bashコードをコピーするheroku login
heroku container:login
heroku create アプリ名
と進めていったものの、同じエラーが何度も発生…。
Dockerへのアップロードは成功しているようですが、Herokuでのデプロイがうまくいかず…結局、ターミナルからのデプロイは断念しました。
GitHub連携でデプロイ!
その代わり、HerokuのGUIからGitHubリポジトリと連携し、そこからデプロイする方法に切り替えました。こちらはとてもスムーズで、無事にプロフィールサイトを公開することができました!
公開サイトはこちら!

クラウド・アプリケーション・プラットフォーム | Heroku
Heroku は、アプリケーションの開発から実行、運用までのすべてをクラウドで完結できる PaaS(サービスとしてのプラットフォーム)です。

Docker: コンテナー アプリケーション開発の加速
Docker は、開発者がコンテナー アプリケーションを構築、共有、実行できるように設計されたプラットフォームです。面倒なセットアップは私たちが行う…
Docker
学習用のサイトも載せて見るのでぜひ覗いてみてください!今後もどんどんアップデートしていく予定です。
今後の展望
現在ではherokuが有料になっており個人開発としてはあまり実用的でないそうです。そこで教えてもらったvercelに移行して次回からはデプロイなどをしていく予定です。
どんどん学習して、より良いサイトに成長させていく予定です。引き続き、応援よろしくお願いします!