【发布时间】:2023-02-25 21:17:41
【问题描述】:
所以我在终端中使用 nest new project 命令创建了默认的 nest.js 项目。
在根文件夹中我创建了文件:
文件
# Base image
FROM node:18-alpine AS base
WORKDIR /app
COPY package*.json ./
FROM base AS dev
# Install app dependencies
RUN npm install
# Bundle app source
COPY . .
EXPOSE 4250
CMD [ "npm", "run", "start:dev" ]
FROM base AS prod
RUN npm install
COPY . .
RUN npm run build
CMD [ "npm", "run", "start:prod" ]
docker-compose.yml
version: '3.9'
services:
app:
build:
context: .
dockerfile: Dockerfile
target: dev
ports:
- 4250:4250
volumes:
- ./src:/app/src
.dockerignore
node_modules
dist
.git
.env
docker.env
然后我运行命令 docker-compose up ,结果在 CLI 中我有消息:
我现在可以使用邮递员测试应用程序,或者只是在浏览器中打开 localhost:4250,但在代码容器发生更改时不会重建。 如何解决?
附言。这是最简单的 docker configs 版本,我计划对其进行构建/优化,但首先我需要解决未注册更新的问题。
【问题讨论】:
-
您是否需要 Docker 来进行此设置? Docker 的文件系统隔离功能可能会导致尝试模拟本地实时重新加载环境时出现问题,而且我经常看到它不起作用的问题。你能在这里使用没有 Docker 的 Node 吗?
-
Nest.js 或其他任何东西在没有 docker 的情况下效果最好。但是在 API 中使用 docker 是我收到的测试任务的一部分。另外,在我以前的公司中,我们在后端配置了 docker,但是复制粘贴 compose-docker.yml 文件没有帮助。
标签: docker docker-compose nestjs