0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】DockerとGithubを用いて開発を行っていく手順(初期設定後)

Posted at

DockerとGitHubを用いた開発フローをそれぞれのコマンドの役割を説明しながら解説します。


1. 開発開始時の準備

a. 最新のコードを取得

git pull origin main

役割:
リモートリポジトリにある最新のコードをローカル環境に取得します。これにより、チーム全員が同じコードベースで開発を開始できます。


b. Docker コンテナを起動

コンテナのビルド(初回や依存関係が変わった場合)

docker-compose up --build -d

役割:
Dockerfile に記載された環境構築手順を基に、新しいコンテナイメージを作成し、アプリケーションをバックグラウンドで起動します。(-dのdはdetachedのdらしい。「分離した」という意味。)

通常の起動

docker-compose up -d

役割:
既存のコンテナイメージを使ってアプリケーションをバックグラウンドで起動します。再ビルドは行わないため、すぐに作業を開始できます。


c. コンテナの状態確認

docker-compose ps

役割:
現在起動中のコンテナの状態を確認します。コンテナが正常に動作しているか、ポート番号が正しくマッピングされているかを確認できます。

c. コンテナの状態確認

docker-compose ps

役割:
現在起動中のコンテナの状態を確認し、動作状況やポート設定を把握します。

出力例

Name                                            Command               State           Ports
---------------------------------------------------------------------------------------------------
container_name   python app.py         Up              0.0.0.0:8000->8000/tcp

解説

  1. Name :コンテナの名前。
  2. Command :コンテナ内で実行されているコマンド。ここではpython app.py
  3. State :コンテナの状態。Up は正常に動作中であることを示します。
  4. Ports
    • ポート設定。0.0.0.0:8000->8000/tcp は、ホスト側のポート 8000 がコンテナ内部のポート 8000 にマッピングされていることを示します。
    • この設定により、ブラウザで http://localhost:8000 にアクセスするとコンテナ内のアプリケーションに接続できます。

確認ポイント

  • StateUp → コンテナは正常動作中。
  • Ports のマッピング → ポート設定が期待通りになっているか確認。

d. ブラウザで確認

http://localhost:8000

役割:
アプリケーションが正しく起動しているかをブラウザでテストします。8000 番ポートでアプリケーションが動作していることを確認します。


2. 開発中の流れ

a. コードを変更する

ローカルのプロジェクトディレクトリでコードを編集します(例: app.py, templates/index.html)。

役割:
アプリケーションの機能を拡張したり修正したりするために、コードを変更します。


b. リアルタイムログを確認

docker-compose logs -f

役割:
アプリケーションの動作ログをリアルタイムで確認します。エラーの原因や挙動をデバッグするために使用します。


c. コンテナの再ビルドが必要な場合

docker-compose down
docker-compose up --build -d

役割:
コンテナを完全に停止した後、新しい依存関係やコード変更を反映するために、コンテナイメージを再構築します。


3. 開発終了時

a. ローカル変更のコミット

git add .
git commit -m "Initial commit"
git push origin main

役割:
ローカルで行った変更をリモートリポジトリに反映します。これにより、チーム全員が同じ最新のコードを共有できます。


b. コンテナを停止

docker-compose down

役割:
起動中のコンテナを停止し、開発環境のリソースを解放します。


4. チーム開発の注意点

a. 他のメンバーが変更をプッシュした場合

作業を保存

git add .
git stash

役割:
現在の作業内容を一時的に退避させ、他のメンバーがリモートリポジトリにプッシュした変更を取り込む準備をします。

最新コードを取得

git pull origin main

役割:
リモートリポジトリから最新のコードを取得します。

退避した作業を再適用

git stash pop

役割:
一時的に退避していた作業内容を再適用し、開発を再開します。


b. 必要に応じてコンテナを再起動

docker-compose down
docker-compose up -d

役割:
リポジトリの変更が反映されるよう、コンテナを再起動します。


5. まとめ(コマンド一覧)

1. リポジトリから最新コードを取得:

git pull origin main

2. コンテナを起動:

docker-compose up -d

3. コードを編集して動作確認:

docker-compose logs -f

4. コードをプッシュ:

git add .
git commit -m "Describe changes"
git push origin main

5. コンテナを停止:

docker-compose down
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?