Dockerの基本的な使い方ガイド

—

by

in

Dockerとは

Dockerは、アプリケーションとその実行環境をコンテナという単位でパッケージ化し、どこでも同じように動作させることができるツールです。仮想マシンと比べて軽量で高速に起動できる点が特徴です。

インストール手順

公式サイトからインストーラをダウンロードし、画面の指示に従ってインストールします。インストールが完了したら、次のコマンドで動作確認を行います。

docker version

バージョン情報が表示されればインストールは成功です。

初めてのコンテナ実行

Dockerの動作確認として、公式イメージのhello-worldを実行してみます。

docker run --rm hello-world

実行すると、Dockerが正常に動作していることを示すメッセージが表示されます。

イメージの取得と管理

Docker Hub には様々なイメージが登録されています。検索して取得するには次のコマンドを使います。

docker pull nginx

取得したイメージは以下のコマンドで一覧表示できます。

docker images

コンテナの起動と操作

取得したイメージからコンテナを起動する基本的なコマンドは次の通りです。

  • バックグラウンドで実行: docker run -d -p 8080:80 nginx
  • 対話的にシェルを起動: docker run -it ubuntu /bin/bash

起動中のコンテナは以下で確認できます。

docker ps

停止や削除はそれぞれ次のコマンドです。

  • 停止: docker stop コンテナID
  • 削除: docker rm コンテナID

Dockerfileでオリジナルイメージを作成

自分のアプリケーション用にイメージを作りたいときは、Dockerfileを作成します。以下はシンプルな例です。

FROM python:3.10-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python","app.py"]

作成した Dockerfile があるディレクトリで次のコマンドを実行してイメージをビルドします。

docker build -t my-python-app .

ビルドが完了したら、先ほどと同様にコンテナとして起動できます。

docker run -d -p 5000:5000 my-python-app

Docker Composeでマルチコンテナ環境を構築

複数のコンテナを連携させる場合は、docker-compose.ymlを利用します。以下は Web アプリとデータベースを組み合わせた例です。

version: "3"
services:
  web:
    build: ./web
    ports:
      - "8000:8000"
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb

同じディレクトリで次のコマンドを実行すると、定義されたすべてのサービスが起動します。

docker compose up -d

停止する場合は docker compose down を使用します。

まとめ

Docker は開発から本番まで一貫した環境を提供し、アプリケーションのデプロイを大幅に簡略化します。基本的なインストール、イメージ取得、コンテナ操作に慣れたら、Dockerfile と Docker Compose を活用して自分だけの開発環境を構築してみましょう。