DockerコマンドやDockerfileについてのメモ

@kazegafukeba.f5.si

コンテナ使って開発や検証環境をいい感じに管理していきたい。 メモ。

1. Dockerの基本コマンド

Dockerを操作する際に役立つ、基本的なコマンドの自分用のメモを記載する。


コンテナ関連のコマンド

実行中のコンテナを表示

docker ps
  • 現在実行中のコンテナをリスト表示。

すべてのコンテナを表示(停止中含む)

docker ps -a
  • 停止中のコンテナも含めて表示。

コンテナを停止

docker stop [コンテナ名またはID]
  • 実行中のコンテナを停止。

コンテナを削除

docker rm [コンテナ名またはID]
  • 不要なコンテナを削除。

イメージ関連のコマンド

ローカルのイメージを確認

docker images
  • 現在ローカルに保存されているDockerイメージを表示。

イメージを削除

docker rmi [イメージID]
  • 不要なイメージを削除。

イメージを新しくビルド

docker build -t イメージ名 -f Dockerfile .
  • Dockerfile を使ってイメージを作成。

その他の便利なコマンド

使用されていないリソースを一括削除

docker system prune
  • 未使用のコンテナ、イメージ、ボリュームなどを一括削除。

2. Docker Volumes(ボリューム)

概要

Dockerボリュームを使用することで、コンテナのデータをホストシステムに永続的に保存できる。


ボリューム関連のコマンド

ボリュームを作成

docker volume create my-volume
  • my-volume という名前のボリュームを作成。

ボリュームを確認

docker volume ls
  • 作成済みのボリュームを表示。

ボリュームを削除

docker volume rm my-volume
  • 指定したボリュームを削除。

ボリュームの使い方

ボリュームを使ってデータを永続化するコンテナを起動する例:

docker run -d --name my-container -v my-volume:/app/data my-image
  • my-volume をコンテナ内の /app/data にマウント。

3. Dockerfile を使った環境構築

Dockerfile を使用して、コンテナを定義する。


Python 3.13 用 Dockerfile

FROM python:3.13-slim

# 作業ディレクトリを設定
WORKDIR /app

# 必要なパッケージをインストール
RUN pip install --upgrade pip

# 要件ファイルをコピーしてインストール
COPY requirements.txt .
RUN pip install -r requirements.txt

CMD ["python3"]
  • Python 3.13環境を構築するためのDockerfile。

Node.js 22 用 Dockerfile

FROM node:22

# 作業ディレクトリを設定
WORKDIR /app

# 必要なパッケージをインストール
COPY package.json .
RUN npm install

CMD ["node"]
  • Node.js 22環境を構築するためのDockerfile。

4. Docker Compose の活用

概要

Docker Compose を使って複数のコンテナを簡単に管理・起動できる。


Docker Compose ファイルの例

PythonとNode.jsの環境を同時に管理するComposeファイルの例。

version: "3.9"
services:
  python-service:
    build:
      context: .
      dockerfile: Dockerfile-python
    volumes:
      - ./app:/app
    ports:
      - "5000:5000"

  node-service:
    build:
      context: .
      dockerfile: Dockerfile-node
    volumes:
      - ./app:/app
    ports:
      - "3000:3000"

コマンド例

Compose でコンテナを起動

docker-compose up
  • 複数のサービスを一括で起動する。

Compose でコンテナを停止

docker-compose down
  • 複数のサービスを一括で停止。

Dockerfile と Docker Compose の違い

DockerfileDocker Compose
単一のイメージを構築するための設定ファイル複数のコンテナを定義し、連携を管理するツール
ベースイメージや依存関係のインストールを記述ネットワーク、ボリューム、環境変数の設定を記述
docker build コマンドでイメージを作成docker-compose up で複数のコンテナを起動

5. 参考リンク

kazegafukeba.f5.si
okeya

@kazegafukeba.f5.si

明日は明日の風が吹く。

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)