0
1

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 Composeの基本と開発フローでよく使うコマンド

Last updated at Posted at 2025-02-16

はじめに

本記事では、Docker Compose の基本的な書き方と、よく使うコマンドを紹介します。
備忘録的に使っていただくと嬉しいです。

Docker Compose の基本

docker-compose.yml の基本構造

docker-compose.yml は、複数のコンテナ設定をまとめて記述できるファイルです。基本的な構成は以下の通りです。

docker-compose.yml
version: '3.8'
services:
  app:
    image: python:3.9
    container_name: my_app
    volumes:
      - .:/app
    working_dir: /app
    command: python app.py
    ports:
      - "5000:5000"
    depends_on:
      - db

  db:
    image: postgres:15
    container_name: my_db
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase
    ports:
      - "5432:5432"

開発時によく使うDocker Composeコマンド

1. docker compose up

コンテナを起動し、必要ならばイメージをビルドする。

docker compose up -d  # バックグラウンドで起動

2. docker compose down

コンテナを停止し、ネットワークなどを削除する。

docker compose down

3. docker compose build

明示的にイメージをビルドする。

docker compose build

4. docker compose ps

現在実行中のコンテナの一覧を表示する。

docker compose ps

5. docker compose logs

コンテナのログを表示する。

docker compose logs -f  # リアルタイムで表示

6. docker compose exec

実行中のコンテナ内でコマンドを実行する。

docker compose exec app bash  # appコンテナ内でBashを起動

7. docker compose stop/start/restart

コンテナの起動・停止・再起動。

docker compose stop   # 停止

docker compose start  # 再開

docker compose restart # 再起動

8. docker compose rm

停止中のコンテナを削除。

docker compose rm -f  # 確認なしで削除

9. docker compose run

一時的なコンテナを作成して実行。

docker compose run --rm app python manage.py migrate

10. docker compose config

docker-compose.yml の構文チェック。

docker compose config

開発時のワークフロー

  1. 環境構築・初回起動
    docker compose up -d
    
  2. コードを変更したらイメージを再ビルド
    docker compose build
    docker compose up -d
    
  3. ログを確認する
    docker compose logs -f
    
  4. コンテナ内に入ってデバッグ
    docker compose exec app bash
    
  5. 環境をリセット
    docker compose down -v
    
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?