受け取ったプロジェクトを動かす基本フロー
チームメンバーや他の開発者からDockerプロジェクトを受け取った時の標準的な手順です。
💡 Dockerとプロジェクトの関係
重要:Gitリポジトリには「Docker本体」は入っていません。含まれているのは以下のファイルです:
- Dockerfile:「このプロジェクトはこういう環境で動かします」という設計書
- docker-compose.yml:「これらのコンテナを起動してください」という指示書
- プロジェクトのコード:実際のアプリケーション
docker-compose upを実行すると、あなたのPCにインストールされているDockerが、これらの設計書を読んで、コンテナを作成・起動します。
例えると:
- Docker本体 = 料理を作る「キッチン」(あなたのPCに必要)
- Dockerfile/docker-compose.yml = 「レシピ」(リポジトリに含まれる)
- docker-compose up = レシピを見て実際に料理を作る行為
つまり、あなたのPCにDocker Desktop(またはDocker)が事前にインストールされている必要があります。まだの場合は基本知識ページを参照してください。
1. プロジェクトを取得
git clone https://github.com/username/project-name.git
cd project-name
2. READMEを確認
まず必ずREADME.mdを読んでください。
3. 環境変数を設定
cp .env.example .env
.envファイルを開いて、必要な値を設定します。
⚠️ .envファイルの注意点
.envファイルにはパスワードなど機密情報が含まれるため、Gitにコミットしてはいけません。
4. コンテナを起動
起動方法は2種類あります:
方法1:フォアグラウンドで起動(初心者におすすめ)
docker-compose up
特徴:
- ログがターミナルに表示され続ける
- エラーがあればすぐに気づける
- Ctrl + Cで停止
- ターミナルを閉じると停止する
使うとき:初めて動かすとき、開発中、デバッグしたいとき
方法2:バックグラウンドで起動
docker-compose up -d
特徴:
- バックグラウンドで動く(
-dはdetachedの略) - ターミナルがすぐに使える
- ターミナルを閉じても動き続ける
- ログを見るには
docker-compose logsが必要
使うとき:安定して動いているとき、長時間起動しておきたいとき
💡 おすすめ
最初はdocker-compose up(-dなし)で起動して、ログを見ながら正常に動くか確認しましょう。問題なければ次回からdocker-compose up -dを使っても大丈夫です。
5. 動作確認
ブラウザでアクセス:http://localhost:3000
よく使うコマンド
# 起動
docker-compose up
docker-compose up -d
# 停止
docker-compose stop
docker-compose down
# ログ確認
docker-compose logs
docker-compose logs -f
# 再起動
docker-compose restart
# 再ビルド
docker-compose up --build
よくある問題
ポートが既に使われている
こんなエラーが出ます:
Error: Bind for 0.0.0.0:3000 failed: port is already allocated
または
ERROR: for web Cannot start service web: driver failed programming external connectivity on endpoint...
原因:他のアプリケーション(別のDockerコンテナや開発サーバー)が同じポート番号を使っています。
対処法:
- 他のアプリを停止する
-
または、docker-compose.ymlのポート番号を変更:
3000:3000→3001:3000
環境変数が設定されていない
こんなエラーが出ます:
Error: DATABASE_URL is not defined
または
Error: Missing environment variable: API_KEY
原因:.envファイルが作成されていない、または必要な変数が設定されていません。
対処法:
cp .env.example .env
その後、.envファイルを開いて必要な値を設定します。
Docker Desktopが起動していない
こんなエラーが出ます:
Cannot connect to the Docker daemon. Is the docker daemon running?
対処法:Docker Desktopを起動してください。