「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 1 | Docker基本コマンド・Dockerfile作成 | 2〜3週間 |
| Step 2 | Docker Composeで複数コンテナ管理 | 2〜3週間 |
| Step 3 | Kubernetesのコアコンセプト理解 | 1ヶ月 |
| Step 4 | ローカルk8s(kind/minikube)で実践 | 1ヶ月 |
| Step 5 | EKS/GKE/AKSなどマネージドK8s | 1〜2ヶ月 |
| Step 6 | Helm・ArgoCD・GitOps実践 | 1〜2ヶ月 |
まとめ
DockerとKubernetesのスキルは、2026年のエンジニア市場で高単価案件獲得に直結します。まずDockerの基本操作とDocker Composeをマスターし、その後Kubernetesへ進むのがスムーズな学習ルートです。CKA(Kubernetes認定管理者)資格の取得も、フリーランス・転職でのアピールに有効です。