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