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,
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@backset/ui": "workspace:^1.0.0",
|
||||
"@backset/util": "workspace:^1.0.0",
|
||||
"@midwayjs/bootstrap": "^3.0.0",
|
||||
"@midwayjs/core": "^3.0.0",
|
||||
"@midwayjs/decorator": "^3.0.0",
|
||||
|
@ -50,9 +48,6 @@
|
|||
},
|
||||
"scripts": {
|
||||
"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",
|
||||
"lint": "mwts check",
|
||||
"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 })
|
||||
user_status?: boolean;
|
||||
|
||||
@Column({ default: '用户' + Date.now() })
|
||||
@Column()
|
||||
display_name?: string;
|
||||
|
||||
@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",
|
||||
"build:web": "cd apps/web && 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:ui": "cd packages/ui && pnpm build",
|
||||
"build:util": "cd packages/util && pnpm build"
|
||||
|
|
Loading…
Reference in New Issue
Block a user