Docker on Linux:インストールからコンテナ運用入門

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入門に進むと、より実践的なスキルが身につきます。

タイトルとURLをコピーしました