feat: docker compose
This commit is contained in:
parent
faa7ed18db
commit
dd29122199
36
Dockerfile
Normal file
36
Dockerfile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# 拉取的原镜像
|
||||||
|
FROM node:16.19-alpine AS build
|
||||||
|
# 创建一个项目文件夹,可自定义
|
||||||
|
WORKDIR /app
|
||||||
|
# 将本地文件复制到项目文件夹下
|
||||||
|
COPY ./apps/server .
|
||||||
|
# 切换到淘宝镜像,安装依赖比较快
|
||||||
|
RUN npm set registry https://registry.npm.taobao.org
|
||||||
|
# 安装依赖
|
||||||
|
RUN npm install -g pnpm
|
||||||
|
RUN pnpm i
|
||||||
|
# 打包项目
|
||||||
|
RUN pnpm build
|
||||||
|
|
||||||
|
# 切换镜像文件, alpine镜像打包后更小
|
||||||
|
FROM node:16.19-alpine
|
||||||
|
# 切换工作目录
|
||||||
|
WORKDIR /app
|
||||||
|
# 将打包后的的文件复制到docker镜像里
|
||||||
|
COPY --from=build /app/dist ./dist
|
||||||
|
COPY --from=build /app/src ./src
|
||||||
|
COPY --from=build /app/bootstrap.js ./
|
||||||
|
COPY --from=build /app/package.json ./
|
||||||
|
|
||||||
|
# RUN apk add --no-cache tzdata
|
||||||
|
|
||||||
|
ENV TZ="Asia/Shanghai"
|
||||||
|
|
||||||
|
RUN npm set registry https://registry.npm.taobao.org
|
||||||
|
|
||||||
|
# 安装工程依赖
|
||||||
|
RUN npm install --production
|
||||||
|
# 设置暴露端口
|
||||||
|
EXPOSE 7001
|
||||||
|
# 启动
|
||||||
|
CMD ["npm", "run", "start"]
|
|
@ -4,8 +4,6 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@backset/ui": "workspace:^1.0.0",
|
|
||||||
"@backset/util": "workspace:^1.0.0",
|
|
||||||
"@midwayjs/bootstrap": "^3.0.0",
|
"@midwayjs/bootstrap": "^3.0.0",
|
||||||
"@midwayjs/core": "^3.0.0",
|
"@midwayjs/core": "^3.0.0",
|
||||||
"@midwayjs/decorator": "^3.0.0",
|
"@midwayjs/decorator": "^3.0.0",
|
||||||
|
@ -50,9 +48,6 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "NODE_ENV=production node ./bootstrap.js",
|
"start": "NODE_ENV=production node ./bootstrap.js",
|
||||||
"dev:be": "cross-env NODE_ENV=local midway-bin dev --ts",
|
|
||||||
"dev:fe": "cross-env RUNNING_ENV=dev webpack -w",
|
|
||||||
"build:fe": "cross-env RUNNING_ENV=prod webpack build",
|
|
||||||
"cov": "midway-bin cov --ts",
|
"cov": "midway-bin cov --ts",
|
||||||
"lint": "mwts check",
|
"lint": "mwts check",
|
||||||
"lint:fix": "mwts fix",
|
"lint:fix": "mwts fix",
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
import { MidwayAppInfo, MidwayConfig } from '@midwayjs/core';
|
||||||
|
|
||||||
|
export default (appInfo: MidwayAppInfo): MidwayConfig => {
|
||||||
|
return {
|
||||||
|
typeorm: {
|
||||||
|
dataSource: {
|
||||||
|
default: {
|
||||||
|
/**
|
||||||
|
* 单数据库实例
|
||||||
|
*/
|
||||||
|
type: 'mysql',
|
||||||
|
host: 'mysql',
|
||||||
|
port: 3307,
|
||||||
|
username: 'backset',
|
||||||
|
password: 'backset',
|
||||||
|
database: 'backset',
|
||||||
|
synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true,注意会丢数据
|
||||||
|
logging: false,
|
||||||
|
connectTimeout: 15 * 1000,
|
||||||
|
|
||||||
|
// 扫描形式, 配置实体模型 entities: [Photo]
|
||||||
|
entities: ['**/entity/*.entity{.ts,.js}'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
redis: {
|
||||||
|
client: {
|
||||||
|
host: 'redis', // Redis host
|
||||||
|
port: 26379, // Redis port
|
||||||
|
password: 'cr654654.',
|
||||||
|
db: 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} as MidwayConfig;
|
||||||
|
};
|
|
@ -17,7 +17,7 @@ export class User {
|
||||||
@Column({ default: true })
|
@Column({ default: true })
|
||||||
user_status?: boolean;
|
user_status?: boolean;
|
||||||
|
|
||||||
@Column({ default: '用户' + Date.now() })
|
@Column()
|
||||||
display_name?: string;
|
display_name?: string;
|
||||||
|
|
||||||
@Column({ default: '' })
|
@Column({ default: '' })
|
||||||
|
|
41
docker-compose.yml
Normal file
41
docker-compose.yml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
container_name: redis-backset # 容器名称
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "26379:26379"
|
||||||
|
expose:
|
||||||
|
- "26379"
|
||||||
|
command: redis-server --requirepass "cr654654." --port 26379
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7.38
|
||||||
|
container_name: mysql-backset # 容器名称
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "3307:3307"
|
||||||
|
expose:
|
||||||
|
- "3307"
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: "backset"
|
||||||
|
MYSQL_USER: "backset"
|
||||||
|
MYSQL_PASSWORD: "backset"
|
||||||
|
MYSQL_ROOT_PASSWORD: "root"
|
||||||
|
MYSQL_ROOT_HOST: "%"
|
||||||
|
MYSQL_TCP_PORT: 3307
|
||||||
|
|
||||||
|
web:
|
||||||
|
build: .
|
||||||
|
restart: always
|
||||||
|
container_name: backset-server # 容器名称
|
||||||
|
ports:
|
||||||
|
- "7001:7001"
|
||||||
|
links:
|
||||||
|
- mysql:mysql
|
||||||
|
- redis:redis
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
- redis
|
|
@ -8,6 +8,7 @@
|
||||||
"dev:apps-admin": "cd apps/admin && pnpm dev",
|
"dev:apps-admin": "cd apps/admin && pnpm dev",
|
||||||
"build:web": "cd apps/web && pnpm build",
|
"build:web": "cd apps/web && pnpm build",
|
||||||
"build:admin": "cd apps/admin && pnpm build",
|
"build:admin": "cd apps/admin && pnpm build",
|
||||||
|
"build:server": "cd apps/server && pnpm build",
|
||||||
"build:pkgs": "pnpm build:ui && pnpm build:util",
|
"build:pkgs": "pnpm build:ui && pnpm build:util",
|
||||||
"build:ui": "cd packages/ui && pnpm build",
|
"build:ui": "cd packages/ui && pnpm build",
|
||||||
"build:util": "cd packages/util && pnpm build"
|
"build:util": "cd packages/util && pnpm build"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user