Я подтверждаю, что узел поставляется с npm:
$ docker run -it --rm node /bin/bash
root@b35e1a6d68f8:/# npm --version
5.6.0
Но линия
ENV PATH /usr/src/app/node_modules/.bin:PATH
перезаписывает начальный PATH, поэтому вы должны попробовать заменить его на
ENV PATH /usr/src/app/node_modules/.bin:${PATH}
Также обратите внимание, что ваша строка ADD ./code ...
неуклюжа, потому что она добавит все файлы вашего приложения (включая ./code/package.json
!), И этот шаг будет сделан слишком рано (с механизмом кэширования Docker), поэтому я бы предложил просто удалить эту строку ADD ./code /usr/src/app
и добавить строку COPY ./code ./
после RUN npm install ...
Наконец, вы также можете взглянуть на официальную документацию по «докеризации» приложения Node.js: https://nodejs.org/en/docs/guides/nodejs-docker-webapp/