Не удается найти модуль rimraf в контейнере докера - PullRequest
0 голосов
/ 16 мая 2018

Когда я пытаюсь запустить свой проект узла, который использует rimraf, в контейнере Docker, я получаю сообщение об ошибке, что модуль rimraf не может быть найден. Он установлен и может быть найден в моем package.json. Если я запускаю свое приложение локально, все работает нормально. Журнал ошибок:

Error: Cannot find module 'rimraf'
node_1     |     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
node_1     |     at Function.Module._load (internal/modules/cjs/loader.js:497:25)
node_1     |     at Module.require (internal/modules/cjs/loader.js:626:17)
node_1     |     at require (internal/modules/cjs/helpers.js:20:18)
node_1     |     at Object.<anonymous> (/usr/src/app/controllers/products.js:5:16)
node_1     |     at Module._compile (internal/modules/cjs/loader.js:678:30)
node_1     |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
node_1     |     at Module.load (internal/modules/cjs/loader.js:589:32)
node_1     |     at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
node_1     |     at Function.Module._load (internal/modules/cjs/loader.js:520:3)
node_1     |     at Module.require (internal/modules/cjs/loader.js:626:17)
node_1     |     at require (internal/modules/cjs/helpers.js:20:18)
node_1     |     at Object.<anonymous> (/usr/src/app/expressRoutes/productRoutes.js:6:26)
node_1     |     at Module._compile (internal/modules/cjs/loader.js:678:30)
node_1     |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
node_1     |     at Module.load (internal/modules/cjs/loader.js:589:32)

мой dockerfile:

    FROM node

    # Create a directory where our app will be placed
    RUN mkdir -p /usr/src/app

    # Change directory so that our commands run inside this new directory
    WORKDIR /usr/src/app

    # Copy dependency definitions
    COPY package.json /usr/src/app

    # Install dependecies
    RUN npm install

    # Get all the code needed to run the app
    COPY . /usr/src/app

    # Expose the port the app runs in
    EXPOSE 4000

    # Serve the app
    CMD ["npm", "start"]

Любая помощь / предложения, почему это происходит? Github ссылка: https://github.com/isaacs/rimraf/issues/171

Мой docker-compose.yml, как и просили.

version: '2'

  services:
    node:
            image: some-private-repo/node_application:latest
            ports:
            - "4000:4000"
            links:
            - mongo
            environment:
            - MONGO_URL=mongodb://mongo:27017/mydb
            networks:
            - network
            depends_on:
            - mongo
    mongo:
            image: mongo:latest
            ports:
            - "27017:27017"
            networks:
            - network

сети: сеть: водитель: мост

...