Dockerは、アプリケーションとその実行環境をまとめて扱える「コンテナ技術」を実現する代表的なツールです。
Linux環境との親和性が高く、開発・検証・本番運用まで幅広く利用されています。
本記事では、Linux環境にDockerをインストールし、基本的なコンテナ操作から簡単な運用までを一通り解説します。
Dockerとは何か
Dockerは、以下の特徴を持つコンテナ型仮想化プラットフォームです。
- 軽量(仮想マシンより高速・省リソース)
- 環境差異を排除できる
- 再現性の高いデプロイが可能
従来の仮想マシン(VM)と比較すると、DockerはOSカーネルを共有するため、起動が非常に高速です。
Dockerを使うメリット
- 開発環境と本番環境の差異をなくせる
- アプリケーションの配布・展開が容易
- CI/CDとの相性が良い
- サーバー構築の自動化が可能
特に「ローカルでは動くのに本番で動かない」という問題を回避できる点が大きな利点です。
動作環境・前提条件
- Linux(Ubuntu 20.04 / 22.04 推奨)
- sudo権限を持つユーザー
- インターネット接続
※本記事ではUbuntu系ディストリビューションを例に説明します。
Dockerのインストール
既存パッケージの削除(任意)
sudo apt remove docker docker-engine docker.io containerd runc
必要パッケージのインストール
sudo apt update
sudo apt install -y ca-certificates curl gnupg
Docker公式GPGキーの追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Dockerリポジトリの追加
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu\
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Dockerのインストール
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
Dockerの動作確認
sudo docker version
sudo docker run hello-world
Hello from Docker! と表示されれば成功です。
sudoなしでDockerを使う設定(任意)
sudo usermod -aG docker $USER
設定後、一度ログアウト・ログインしてください。
Dockerの基本用語
| 用語 | 説明 |
|---|---|
| イメージ | コンテナの設計図 |
| コンテナ | イメージから起動した実行環境 |
| Dockerfile | イメージ作成手順を記述したファイル |
| レジストリ | イメージを保存・配布する場所(Docker Hubなど) |
コンテナの基本操作
イメージの取得
docker pull nginx
コンテナの起動
docker run -d -p 8080:80 nginx
-d:バックグラウンド実行-p:ポートフォワーディング
ブラウザで http://localhost:8080 にアクセスするとNginxの画面が表示されます。
コンテナ一覧の確認
docker ps
docker ps -a
コンテナの停止・削除
docker stop コンテナID
docker rm コンテナID
Dockerfileによるイメージ作成
Dockerfile例(Pythonアプリ)
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
イメージのビルド
docker build -t my-python-app .
コンテナ起動
docker run my-python-app
docker-composeによる複数コンテナ管理
docker-compose.yml例
version: "3"
services:
web:
image: nginx
ports:
- "8080:80"
起動・停止
docker compose up -d
docker compose down
複数サービスをまとめて管理できるため、実運用では必須の知識です。
コンテナ運用の基本ポイント
- ログは
docker logsで確認 - データ永続化にはVolumeを使用
- 本番環境ではlatestタグを避ける
- 不要なイメージ・コンテナは定期的に削除
docker system prune
まとめ
Dockerを使うことで、Linux上でのアプリケーション運用は大幅に効率化されます。
- Dockerは軽量で再現性の高い実行環境
- Linuxとの相性が非常に良い
- 基本操作を覚えるだけで実務に応用可能
次のステップとしては、Docker Composeの本格運用やKubernetes入門に進むと、より実践的なスキルが身につきます。

