Skip to main content

common-dockerize

Docker容器化技能,生成Docker配置文件

معلومات المصدر

المستودع
bage2014/study
آخر نشاط في المصدر
٢٤ يونيو ٢٠٢٦ في ٢٣:١٨
لغة SKILL.md المكتشفة
الصينية
النجوم
٦٤٦
التفرعات
١١٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
common-dockerize
description
Docker容器化技能,生成Docker配置文件
trigger
需要将项目容器化部署时
disable-when
项目已容器化或使用其他部署方式
category
devops
tags
["docker","container","devops","deployment"]
# Docker容器化技能 ## 功能描述 为项目生成 Docker 配置文件,支持 Spring Boot 和 Vue 项目的容器化部署。 ## 何时使用 - 项目需要容器化部署时 - 创建开发/测试/生产环境的 Docker 镜像 - 配置多容器编排 ## 核心功能 - 生成 Dockerfile - 生成 docker-compose.yml - 配置多环境 Docker 镜像 - 优化镜像大小 - 支持 Spring Boot 和 Vue 项目 ## 输入参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | projectType | String | 是 | 项目类型(spring-boot/vue) | | appName | String | 是 | 应用名称 | | appPort | String | 否 | 应用端口(默认 8080) | | withCompose | Boolean | 否 | 是否生成 docker-compose(默认 true) | | withDatabase | Boolean | 否 | 是否包含数据库服务(默认 false) | | databaseType | String | 否 | 数据库类型(mysql/postgresql,默认 mysql) | ## 输出格式 ```json { "status": "SUCCESS", "projectType": "spring-boot", "filesCreated": [ "Dockerfile", "docker-compose.yml", ".dockerignore" ], "imageName": "my-spring-app:latest", "commands": [ "docker build -t my-spring-app .", "docker-compose up -d" ] } ``` ## 使用流程 1. 指定项目类型 2. 提供应用信息 3. 选择是否需要数据库 4. 生成 Docker 配置文件 ## 最佳实践 - 使用多阶段构建减小镜像大小 - 开发环境使用 docker-compose 编排 - 生产环境使用 Kubernetes 或 Swarm ## 配置要求 ### Dockerfile 示例(Spring Boot) ```dockerfile FROM eclipse-temurin:21-jdk-alpine AS builder WORKDIR /app COPY . . RUN ./mvnw clean package -DskipTests FROM eclipse-temurin:21-jre-alpine WORKDIR /app COPY --from=builder /app/target/*.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "app.jar"] ``` ### docker-compose.yml 示例 ```yaml version: '3.8' services: app: build: . ports: - "8080:8080" environment: - SPRING_PROFILES_ACTIVE=docker depends_on: - db db: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=example_db volumes: - mysql_data:/var/lib/mysql volumes: mysql_data: ``` ## 扩展指南 支持自定义镜像模板和编排配置。 ## 触发条件
عرض على GitHub