forked from datawhale/whale-town-end
fix: 修复docker部署问题
This commit is contained in:
17
Dockerfile
17
Dockerfile
@@ -1,17 +1,22 @@
|
|||||||
# 使用官方 Node.js 镜像
|
# 使用官方 Node.js 镜像
|
||||||
FROM node:18-alpine
|
FROM node:lts-alpine
|
||||||
|
|
||||||
# 设置工作目录
|
# 设置工作目录
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# 安装 pnpm
|
# 设置构建参数
|
||||||
RUN npm install -g pnpm
|
ARG NPM_REGISTRY=https://registry.npmmirror.com
|
||||||
|
|
||||||
# 复制 package.json 和 pnpm-lock.yaml
|
# 设置 npm 和 pnpm 镜像源
|
||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
RUN npm config set registry ${NPM_REGISTRY} && \
|
||||||
|
npm install -g pnpm && \
|
||||||
|
pnpm config set registry ${NPM_REGISTRY}
|
||||||
|
|
||||||
|
# 复制 package.json
|
||||||
|
COPY package.json pnpm-workspace.yaml ./
|
||||||
|
|
||||||
# 安装依赖
|
# 安装依赖
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install
|
||||||
|
|
||||||
# 复制源代码
|
# 复制源代码
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|||||||
39
docker-compose.dev.yml
Normal file
39
docker-compose.dev.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=development
|
||||||
|
- DB_HOST=mysql
|
||||||
|
- DB_PORT=3306
|
||||||
|
- DB_USERNAME=pixel_game
|
||||||
|
- DB_PASSWORD=secure_password
|
||||||
|
- DB_NAME=pixel_game_db
|
||||||
|
- USE_FILE_REDIS=true
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./src:/app/src
|
||||||
|
- ./logs:/app/logs
|
||||||
|
command: ["pnpm", "run", "dev"]
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=root_password
|
||||||
|
- MYSQL_DATABASE=pixel_game_db
|
||||||
|
- MYSQL_USER=pixel_game
|
||||||
|
- MYSQL_PASSWORD=secure_password
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
volumes:
|
||||||
|
- mysql_data:/var/lib/mysql
|
||||||
|
restart: unless-stopped
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mysql_data:
|
||||||
Reference in New Issue
Block a user