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

【2026年完全版】Docker・Kubernetes実践ガイド|開発環境構築から本番デプロイまで

DockerとKubernetesは現代のWebアプリケーション開発において必須のスキルです。本記事では、Docker Composeを使ったローカル開発環境構築から、Kubernetesによる本番環境へのデプロイまで解説します。

Dockerとは?コンテナ技術の基礎

Dockerは軽量なコンテナ環境を作成・管理するプラットフォームです。VMと比較して起動時間が秒単位、リソース消費はMB単位と非常に効率的です。

Docker基本コマンド

docker pull nginx:latest
docker run -d -p 8080:80 --name my-nginx nginx:latest
docker ps
docker logs my-nginx
docker stop my-nginx && docker rm my-nginx

Dockerfileの書き方(Pythonアプリ例)

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN adduser --disabled-password appuser
USER appuser
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Docker Compose:マルチコンテナ構成

version: "3.9"
services:
  web:
    build: .
    ports:
      - "8000:8000"
    depends_on:
      - db
      - redis
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    image: redis:7-alpine
volumes:
  postgres_data:

Kubernetesの基本概念

  • Pod:最小デプロイ単位
  • Deployment:Pod管理・自動復旧
  • Service:ロードバランサー
  • ConfigMap/Secret:設定管理

Kubernetesデプロイメントマニフェスト

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1.0.0
        ports:
        - containerPort: 8000
        resources:
          requests:
            memory: "128Mi"
            cpu: "100m"
          limits:
            memory: "256Mi"
            cpu: "500m"

まとめ:習得ロードマップ

  1. Week 1-2:Docker基本(Dockerfile、イメージ管理)
  2. Week 3-4:Docker Composeでマルチコンテナ構築
  3. Week 5-6:Kubernetes基礎・minikubeで学習
  4. Week 7-8:本番クラスター(EKS/GKE)デプロイ
  5. Week 9-10:Helm、GitOps、Prometheus監視

DockerとKubernetesをマスターすることで、DevOpsエンジニアとして年収UP・市場価値向上につながります。

投稿者 kasata

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

コメントを残す

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

Click to listen highlighted text!