コンテナ&DevOpsインフラ
Docker Compose から Kubernetes への変換機
docker-compose.yml を本番環境水準の Kubernetes Deployment、Service、ConfigMap、PVC、Ingress マニフェストに変換します。ブラウザ内完全実行で高いプライバシーを保証。
Quick Presets:
100% In-Browser Private
Kubernetes Manifest Settings
Production Kubernetes YAML
apiVersion: v1
kind: ConfigMap
metadata:
name: web-config
namespace: production
labels:
app: web
tier: backend
data:
NODE_ENV: production
PORT: "3000"
REDIS_HOST: redis-service
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redis-redis-data-pvc
namespace: production
labels:
app: redis
tier: backend
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
namespace: production
labels:
app: web
tier: backend
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: myorg/nextjs-app:v1.0.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
name: port-1
envFrom:
- configMapRef:
name: web-config
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
tcpSocket:
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
tcpSocket:
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
namespace: production
labels:
app: redis
tier: backend
spec:
replicas: 2
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:7-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6379
name: port-1
volumeMounts:
- name: redis-data
mountPath: /data
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
tcpSocket:
port: 6379
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
tcpSocket:
port: 6379
initialDelaySeconds: 5
periodSeconds: 10
volumes:
- name: redis-data
persistentVolumeClaim:
claimName: redis-redis-data-pvc
---
apiVersion: v1
kind: Service
metadata:
name: web-service
namespace: production
labels:
app: web
tier: backend
spec:
type: ClusterIP
selector:
app: web
ports:
- name: port-1
port: 3000
targetPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: redis-service
namespace: production
labels:
app: redis
tier: backend
spec:
type: ClusterIP
selector:
app: redis
ports:
- name: port-1
port: 6379
targetPort: 6379
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: production-ingress
namespace: production
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- app.example.com
secretName: app-example-com-tls
rules:
- host: app.example.com
http:
paths:
- path: /web
pathType: Prefix
backend:
service:
name: web-service
port:
number: 3000
- path: /redis
pathType: Prefix
backend:
service:
name: redis-service
port:
number: 6379
Advertisement
使い方
- ステップ 1: 左側のエディタに docker-compose.yml を貼り付けるか、事前設定プリセット(Next.js + Redis、FastAPI + PostgreSQL)を選択します。
- ステップ 2: 対象の Kubernetes Namespace、レプリカ数、および Service Type(ClusterIP、LoadBalancer、NodePort)を設定します。
- ステップ 3: 外部への公開ルーティングが必要な場合は Ingress 生成を有効にし、ドメインホスト名を入力します。
- ステップ 4: 右側ペインで生成された YAML を確認し、タブを切り替えて確認するか、「.yaml をダウンロード」をクリックして保存します。
よくある質問
Docker Compose から Kubernetes へのマッピングはどのように機能しますか?
docker-compose.yml 内の各サービスは Kubernetes の Deployment と ClusterIP Service に対応付けられます。環境変数は専用の ConfigMap にまとめられ、ポート設定は containerPort と Service targetPort に変換され、名前付きボリュームは PersistentVolumeClaim (PVC) を生成します。
入力した YAML データが外部サーバーに送信されることはありますか?
一切ありません。構文解析およびマニフェスト生成処理はブラウザのクライアント側 JavaScript のみで 100% 実行されます。内部イメージ名やシークレット情報が外部に送信されることはありません。
Docker Compose v2、v3、および Compose Spec に対応していますか?
はい。標準的な Docker Compose フォーマット、配列形式およびキー・バリュー形式の環境変数、ポート公開、ボリュームマウント、リスタートポリシー、カスタムエントリポイントコマンドに対応しています。
なぜ Deployment と Service の両方が生成されるのですか?
Kubernetes では、Deployment がコンテナ Pod の望ましいレプリカ状態を維持・管理します。一方、Service は Pod 間や Ingress コントローラーからの通信に必要な安定した内部 DNS 名と仮想 IP を提供します。
リソース制限(Resource Limits)やヘルスチェックを追加できますか?
はい。設定パネルで「Resource Limits」や「Health Probes」を有効にすると、本番向けの CPU/メモリリクエスト・リミット値、および TCP ソケットによる Liveness / Readiness プローブが自動的に注入されます。
The Senior Full-Stack Production Kit (2026)
Checklists, Docker recipes, and SSR error fixes in one dense PDF.