在调试容器中安装节点依赖项

时间:2020-09-18 12:09:47

标签: node.js docker npm

我当前正在设置一个Docker容器,该容器将用于调试NodeJS应用程序。该容器需要支持实时重载(使用nodemon),并且需要是Linux容器(我的工作站是Windows计算机)。

我当前的设置如下:

Dockerfile.debug

FROM node:current-alpine

VOLUME /app

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production --registry=http://172.16.102.123:8182/repository/npm/

RUN npm install -g nodemon

ENV NODE_ENV=test

EXPOSE 8000
EXPOSE 9229

CMD [ "nodemon", "--inspect=0.0.0.0:9229", "--ignore", "dist/test/**/*.js", "dist/index.js" ]

docker-compose.yml

version: '3'
services:
    app:
        build:
            context: .
            dockerfile: Dockerfile.debug
        volumes:
            - .:/app
            - /app/node_modules
        ports:
            - 8000:8000

除依赖项外,其他所有东西都可以正常工作,因为其中某些依赖于平台。这意味着不可能简单地将node_modules目录安装到容器中(就像我对其余代码库所做的那样)。我尝试以这种方式设置文件,即每个平台的依赖关系都不同,但是最终我得到的是空的node_modules目录或主机的node_modules目录(当前设置为我提供了一个空目录)。有人知道如何解决我的问题吗?我看过其他解决方案(例如this one),但它们没有用。

0 个答案:

没有答案