Docker コマンド & Docker Compose コマンド チートシート


# Docker コマンド & Docker Compose コマンド チートシート

## Docker コマンド

### イメージ関連

#### `docker pull`
Docker Hubからイメージをダウンロードします。
```bash
docker pull <イメージ名>:<タグ>
```

#### `docker images`
ローカルに存在するイメージの一覧を表示します。
```bash
docker images
```

#### `docker build`
指定したDockerfileからイメージをビルドします。
```bash
docker build -t <イメージ名>:<タグ> <Dockerfileのディレクトリ>
```

#### `docker rmi`
不要なイメージを削除します。
```bash
docker rmi <イメージID>
```

### コンテナ関連

#### `docker run`
新しいコンテナを作成して実行します。
```bash
docker run -d -p <ホストポート>:<コンテナポート> --name <コンテナ名> <イメージ名>
```

#### `docker ps`
実行中のコンテナの一覧を表示します。
```bash
docker ps
```

#### `docker ps -a`
停止したコンテナも含めたすべてのコンテナを表示します。
```bash
docker ps -a
```

#### `docker stop`
指定したコンテナを停止します。
```bash
docker stop <コンテナID/コンテナ名>
```

#### `docker start`
停止中のコンテナを再開します。
```bash
docker start <コンテナID/コンテナ名>
```

#### `docker restart`
コンテナを再起動します。
```bash
docker restart <コンテナID/コンテナ名>
```

#### `docker rm`
コンテナを削除します。
```bash
docker rm <コンテナID/コンテナ名>
```

#### `docker exec`
実行中のコンテナ内でコマンドを実行します。
```bash
docker exec -it <コンテナ名> <コマンド>
```

#### `docker logs`
コンテナのログを表示します。
```bash
docker logs <コンテナID/コンテナ名>
```

### ボリューム関連

#### `docker volume create`
新しいボリュームを作成します。
```bash
docker volume create <ボリューム名>
```

#### `docker volume ls`
存在するボリュームの一覧を表示します。
```bash
docker volume ls
```

#### `docker volume rm`
ボリュームを削除します。
```bash
docker volume rm <ボリューム名>
```

### ネットワーク関連

#### `docker network create`
新しいDockerネットワークを作成します。
```bash
docker network create <ネットワーク名>
```

#### `docker network ls`
存在するネットワークの一覧を表示します。
```bash
docker network ls
```

#### `docker network connect`
既存のコンテナをネットワークに接続します。
```bash
docker network connect <ネットワーク名> <コンテナ名>
```

#### `docker network disconnect`
コンテナをネットワークから切断します。
```bash
docker network disconnect <ネットワーク名> <コンテナ名>
```

#### `docker network rm`
ネットワークを削除します。
```bash
docker network rm <ネットワーク名>
```

### その他の便利なコマンド

#### `docker inspect`
コンテナやイメージの詳細な設定情報を表示します。
```bash
docker inspect <コンテナID/コンテナ名/イメージ名>
```

#### `docker stats`
実行中のコンテナのリアルタイムリソース使用量を表示します。
```bash
docker stats
```

#### `docker system prune`
未使用のデータ（停止中のコンテナ、未使用のネットワーク、ボリューム、イメージ）を一括で削除します。
```bash
docker system prune
```

---

## Docker Compose コマンド

### `docker-compose up`
定義したサービスを起動します。`-d`を使うとバックグラウンドで起動します。
```bash
docker-compose up
```
オプション:
- `-d`: デタッチドモード（バックグラウンド）でサービスを起動

例:
```bash
docker-compose up -d
```

### `docker-compose down`
起動しているすべてのサービスを停止し、ネットワークやボリュームも削除します。
```bash
docker-compose down
```

### `docker-compose build`
`docker-compose.yml`ファイルに基づいてサービスのイメージをビルドします。
```bash
docker-compose build
```

### `docker-compose ps`
現在のサービスの状態を一覧で表示します。
```bash
docker-compose ps
```

### `docker-compose logs`
サービスのログを表示します。`-f`オプションを使うとリアルタイムでログを監視できます。
```bash
docker-compose logs
```

### `docker-compose stop`
起動中のすべてのサービスを停止します。
```bash
docker-compose stop
```

### `docker-compose start`
停止中のサービスを再開します。
```bash
docker-compose start
```

### `docker-compose restart`
すべてのサービスを再起動します。
```bash
docker-compose restart
```

### `docker-compose exec`
実行中のコンテナ内でコマンドを実行します（Dockerの`exec`コマンドに相当）。
```bash
docker-compose exec <サービス名> <コマンド>
```
例:
```bash
docker-compose exec web bash
```

---

このチートシートを使うことで、DockerとDocker Composeの基本的な操作を素早く実行できるようになります。サービスの起動、停止、ログの確認、ビルドなど、多くの操作を効率的に行えます。