# kratos-layout **Repository Path**: liuqin2014/kratos-layout ## Basic Information - **Project Name**: kratos-layout - **Description**: kratos-layout - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-05 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kratos Project Template ## 安装 Kratos ``` git clone https://gitee.com/dn-jinmin/kratos_ctl.git cd kratos_ctl go install ``` ## 创建 service ``` kratos new server - kratos new server gitee.com/dn-jinmin/server ``` 与官方的kratos区别在于,当前命令在创建服务的时候会自动根据GOPATH识别服务的命名空间,如果不在GOPATH下默认使用服务名,也可以在服务名后指定具体的命名空间 ## 目录结构 ``` . ├── cmd // 整个项目启动的入口文件 │ ├── main.go │ ├── wire.go // 我们使用wire来维护依赖注入 │ └── wire_gen.go ├── configs // 这里通常维护一些本地调试用的样例配置文件 | ├── dev | ├── local │ └── prod ├── handler // 系统服务驱动含 api / task 等驱动 | ├── api // 下面维护了微服务使用的proto文件以及根据它们所生成的go文件 │ │ └── helloworld │ │ └── v1 │ │ ├── error_reason.pb.go │ │ ├── error_reason.proto │ │ ├── error_reason.swagger.json │ │ ├── greeter.pb.go │ │ ├── greeter.proto │ │ ├── greeter.swagger.json │ │ ├── greeter_grpc.pb.go │ │ └── greeter_http.pb.go │ └── server │ ├── grpc.go │ ├── http.go │ └── server.go ├── internal // 该服务所有不对外暴露的代码,通常的业务逻辑都在这下面,使用internal避免错误引用 │ ├── conf // 内部使用的config的结构定义,使用proto格式生成 │ │ ├── conf.pb.go │ │ └── conf.proto │ ├── domain // 数据交互结构 │ │ └── domain.go │ ├── model // 模型对象 │ │ ├── greeter_model.go │ │ ├── greeter_type.go │ │ └── wire.go │ ├── service // 实现了 api 定义的服务层,类似 DDD 的 application 层,不应处理复杂逻辑 │ │ ├── greeter.go │ │ └── wire.go │ └── usecase // 处理具体的业务逻辑 │ ├── greeter.go │ └── wire.go ├── third_party // api 依赖的第三方proto ├── go.mod ├── go.sum ├── Dockerfile ├── LICENSE ├── Makefile └── README.md ``` ## Docker ```bash # build docker build -t . # run docker run --rm -p 8000:8000 -p 9000:9000 -v :/data/conf ```