Dockerは、アプリケーションとその依存関係を「コンテナ」と呼ぶ軽量な実行環境にパッケージ化する技術です。2013年のリリース以来、インフラの世界を一変させ、2026年現在ではデファクトスタンダードとなっています。
Docker環境構築:基本コマンド
docker run -d -p 8080:80 nginx
docker ps
docker stop container_id
Dockerfileのベストプラクティス
本番環境向けDockerfileはマルチステージビルドを活用してイメージサイズを最小化します。非rootユーザーでの実行、軽量ベースイメージ(alpine)の使用がセキュリティ強化の基本です。
Docker Compose:複数コンテナ管理
Docker Composeを使うとAPI・DB・Redisなど複数コンテナを一元管理できます。healthcheckの設定で依存関係の起動順序も制御できます。
Kubernetes(K8s)の主要コンセプト
- Pod:最小のデプロイ単位
- Deployment:レプリカ数管理とローリングアップデート
- Service:Podへのネットワークアクセス提供
- Ingress:外部トラフィックのルーティング
EKS(AWS)でのKubernetesクラスター構築
eksctl create cluster --name my-cluster --region ap-northeast-1 --node-type t3.medium --nodes 3 --managed
kubectl get nodes
kubectl apply -f deployment.yaml
まとめ
DockerとKubernetesは現代のクラウドネイティブ開発に不可欠な技術です。Docker→Docker Compose→Kubernetes→EKSと段階的に学習することで、スケーラブルなインフラを構築できます。まずはDocker Desktopをインストールして実際に手を動かすことから始めましょう。