Docker Patterns

affaan-m/ECC/docs/ja-JP/skills/docker-patterns

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775无许可证275K 个星标收录于 2026年10月9日更新于 2026年10月9日仓库4天前更新

Docker イメージの構築、最適化、マルチステージビルド、ネットワーク、ボリューム管理。本番環境デプロイメント用のベストプラクティス。

仅含说明DevOps & Cloud
AI 生成的概览

指导编写生产级 Dockerfile、多阶段构建、镜像优化、网络与卷管理。

功能
提供 Docker 最佳实践指导,涵盖 Dockerfile 编写、镜像体积最小化、层缓存、多阶段构建、非 root 用户与健康检查等安全措施、docker-compose 服务定义以及部署检查清单。该技能仅提供说明,产出的是文字指导与 Dockerfile、compose 示例片段,不会实际执行任何操作。
适用场景
适用于编写或审查 Dockerfile、优化镜像体积、搭建多阶段构建、配置容器网络或持久化卷,以及规划容器部署策略的场景。
运行要求
无需任何工具、软件包或凭据;不附带脚本,仅提供说明与示例配置片段。

Docker パターン

本番環境対応のDocker イメージとコンテナ。

使用時期

  • Dockerfile を書く
  • イメージサイズを最適化
  • マルチステージビルド
  • ネットワークと永続化を設定
  • デプロイメント戦略

Dockerfile ベストプラクティス

1. イメージサイズを最小化

dockerfile
FROM node:18-alpine AS buildWORKDIR /appCOPY package*.json ./RUN npm install
FROM node:18-alpineWORKDIR /appCOPY --from=build /app/node_modules ./node_modulesCOPY . .CMD ["node", "server.js"]

2. レイヤー最適化

dockerfile
# キャッシュを活用するため、変更がない部分を上にFROM node:18-alpineWORKDIR /app
# 依存関係(変更が少ない)COPY package*.json ./RUN npm install
# アプリケーション(頻繁に変更)COPY . .
CMD ["node", "server.js"]

3. セキュリティ

  • root ユーザーで実行しない
  • シークレットを避ける
  • ヘルスチェック追加
dockerfile
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \  CMD node healthcheck.js

docker-compose

yaml
version: '3.8'services:  app:    build: .    ports:      - "3000:3000"    environment:      - NODE_ENV=production    volumes:      - ./data:/app/data    depends_on:      - db  db:    image: postgres:15    environment:      - POSTGRES_PASSWORD=secret

チェックリスト

  • イメージサイズ最適化
  • セキュリティスキャン
  • ヘルスチェック
  • ログ管理
  • ネットワーク構成

詳細については、ドキュメントを参照してください。

来源与署名

来源:affaan-m/ECC位于docs/ja-JP/skills/docker-patterns提交ef648e0

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架