首页 > 解决方案 > NestJS 与 Docker 和 Portainer

问题描述

我正在尝试使用虚拟专用服务器启动我的项目。我已经安装了 Docker 和 Portainer,我可以开始这个项目了。但它没有在任何端口运行。我确实设置在端口 3000 中运行,但是当我输入浏览器 IP_Of_My_VPS:3000 时没有任何反应。我是 docker 新手,我所做的每个配置都是基于我的搜索。

此打印显示图像未在任何一个端口中运行。

这另一个打印显示我的应用程序正在运行(但我不知道如何访问它)。

我的码头配置:

FROM node:12-alpine

RUN apk --no-cache add curl
RUN apk --no-cache add git
RUN git --version

WORKDIR /app

COPY package*.json ./

RUN npm set progress=false && npm config set depth 0 && npm cache clean --force

RUN npm ci

COPY . .

RUN npm run build && rm -rf src

HEALTHCHECK --interval=30s --timeout=3s --start-period=30s \
  CMD curl -f http://localhost:3000/health || exit 1

EXPOSE 3000

CMD ["node", "./dist/main.js"]

标签: node.jsdockernestjsportainer

解决方案


当docker容器启动时,执行端口转发

举些例子,

docker run -p <your_forwarding_port>:3000 ~~~
# docker-compose.yaml
~~~
     ports:
       - "<your_forwarding_port>:3000"
~~~

你可以看到 ref
: docker-container port
: docker-compose port


推荐阅读