Welcome to Tech Athletes | テック・アスリート   Click to listen highlighted text! Welcome to Tech Athletes | テック・アスリート

【2026年版】Docker・Kubernetes完全入門ガイド|基本コマンドからマニフェスト作成・GitOpsまで実践コード付き解説

「Docker・Kubernetesを学びたいけど、何から始めればいい?」「コンテナ技術のロードマップが知りたい」という方のために、2026年版のDocker・Kubernetes完全学習ガイドをまとめました。エンジニアのキャリアアップに直結する実践的な内容です。

なぜ今コンテナ技術が重要なのか

2026年現在、エンタープライズのシステム開発においてDockerとKubernetesは事実上の標準インフラとなっています。求人票でも「Docker必須」「Kubernetes経験者優遇」の記載が増加しており、スキルの有無が年収に大きく影響するようになっています。

Docker 基礎から実践まで

Docker のインストールと基本コマンド

# Docker Desktop インストール後
docker --version

# イメージのダウンロード
docker pull nginx:latest

# コンテナの起動
docker run -d -p 8080:80 --name my-nginx nginx

# 起動中のコンテナ確認
docker ps

# コンテナのログ確認
docker logs my-nginx

# コンテナへの接続
docker exec -it my-nginx /bin/bash

# コンテナの停止・削除
docker stop my-nginx && docker rm my-nginx

Dockerfile の書き方ベストプラクティス

# マルチステージビルド(本番向け)
FROM node:20-alpine AS builder

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY . .
RUN npm run build

# 本番用ステージ(軽量イメージ)
FROM nginx:alpine

COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Docker Compose による複数コンテナ管理

version: '3.8'

services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://user:password@db:5432/mydb
      - REDIS_URL=redis://cache:6379
    depends_on:
      db:
        condition: service_healthy
    volumes:
      - ./src:/app/src  # 開発時ホットリロード

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user"]
      interval: 10s
      timeout: 5s
      retries: 5

  cache:
    image: redis:7-alpine
    ports:
      - "6379:6379"

volumes:
  postgres_data:

Kubernetes 入門

Kubernetes の主要コンセプト

  • Pod:コンテナの最小デプロイ単位(1〜複数コンテナ)
  • Deployment:Podのレプリカ数管理・ローリングアップデート
  • Service:Pod群への安定したネットワークアクセスを提供
  • Ingress:外部からのHTTP/HTTPSトラフィックのルーティング
  • ConfigMap / Secret:設定値・機密情報の管理
  • Namespace:リソースの論理的な分離(本番/開発/ステージングなど)

Deployment マニフェストの例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
  namespace: production
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web-app
  template:
    metadata:
      labels:
        app: web-app
    spec:
      containers:
      - name: web-app
        image: my-registry/web-app:v1.2.0
        ports:
        - containerPort: 3000
        resources:
          requests:
            memory: "128Mi"
            cpu: "250m"
          limits:
            memory: "256Mi"
            cpu: "500m"
        env:
        - name: DATABASE_URL
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: url
        livenessProbe:
          httpGet:
            path: /health
            port: 3000
          initialDelaySeconds: 15
          periodSeconds: 20

kubectl よく使うコマンド

# リソース確認
kubectl get pods -n production
kubectl get deployments -A  # 全Namespace
kubectl describe pod web-app-xxxxx -n production

# マニフェスト適用
kubectl apply -f deployment.yaml
kubectl apply -f ./k8s/  # ディレクトリ内全ファイル

# ログ確認
kubectl logs web-app-xxxxx -n production
kubectl logs -f web-app-xxxxx  # リアルタイム

# デプロイのロールバック
kubectl rollout undo deployment/web-app -n production
kubectl rollout history deployment/web-app  # 履歴確認

2026年のコンテナ関連トレンド

  • eBPF + Cilium:次世代のKubernetesネットワーキングとセキュリティ
  • Gateway API:Ingress の後継として普及が加速
  • Karpenter:AWSの次世代オートスケーラーとして定着
  • Helm + ArgoCD:GitOpsデプロイの標準スタック
  • WebAssembly (Wasm):コンテナの代替として注目される新技術

学習ロードマップ

ステップ内容期間
Step 1Docker基本コマンド・Dockerfile作成2〜3週間
Step 2Docker Composeで複数コンテナ管理2〜3週間
Step 3Kubernetesのコアコンセプト理解1ヶ月
Step 4ローカルk8s(kind/minikube)で実践1ヶ月
Step 5EKS/GKE/AKSなどマネージドK8s1〜2ヶ月
Step 6Helm・ArgoCD・GitOps実践1〜2ヶ月

まとめ

DockerとKubernetesのスキルは、2026年のエンジニア市場で高単価案件獲得に直結します。まずDockerの基本操作とDocker Composeをマスターし、その後Kubernetesへ進むのがスムーズな学習ルートです。CKA(Kubernetes認定管理者)資格の取得も、フリーランス・転職でのアピールに有効です。

投稿者 kasata

IT企業でエンジニアとして勤務後、テクノロジー情報メディア「Tech Athletes(テック・アスリート)」を運営。プログラミング、クラウドインフラ(AWS/GCP/Azure)、AI活用、Webサービス開発を専門とする。エンジニア・ビジネスパーソン向けに、実際に使ってみた経験をもとに信頼できる技術情報を発信中。資格:AWS認定ソリューションアーキテクト、Python 3 エンジニア認定試験合格。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Click to listen highlighted text!