Docker / bin / bash: nodemon: command not found

I am trying to mount my work node code from my host into a docker container and run it using nodemon using docker-compose. But the container does not seem to be able to find nodemon. Note. No host or npm is installed on my host computer.

Here are the files in the root folder of my project (test). (This is just a draft)

Dockerfile

FROM surenderthakran/nodejs:v4
ADD . /test
WORKDIR /test
RUN make install
CMD make run

Makefile

SHELL:=/bin/bash
PWD:=$(shell pwd)
export PATH:= $(PWD)/node_modules/.bin:$(PWD)/bin:$(PATH)
DOCKER:=$(shell grep docker /proc/1/cgroup)

install:
    @echo Running make install......
    @npm config set unsafe-perm true
    @npm install

run:
    @echo Running make run......
# Check if we are inside docker container
ifdef DOCKER
    @echo We are dockerized!! :D
    @nodemon index.js
else
    @nodemon index.js
endif

.PHONY: install run

docker-compose.yml

app:
    build: .
    command: make run
    volumes:
        - .:/test
    environment:
        NODE_ENV: dev
    ports:
        - "17883:17883"
        - "17884:17884"

package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "test",
  "main": "index.js",
  "dependencies": {
    "express": "^4.13.3",
    "nodemon": "^1.8.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "api",
    "nodejs",
    "express"
  ],
  "author": "test",
  "license": "ISC"
}

index.js

'use strict';

var express = require('express');

I build my image using docker-compose build. It ends successfully. But when I try to run it using docker-compose up, I get:

Creating test_app_1...
Attaching to test_app_1
app_1 | Running make run......
app_1 | We are dockerized!! :D
app_1 | /bin/bash: nodemon: command not found
app_1 | make: *** [run] Error 127
test_app_1 exited with code 2
Gracefully stopping... (press Ctrl+C again to force)

Can someone please advice?

Note: the Docker file for my base image surenderthakran/nodejs:v4can be found here: https://github.com/surenderthakran/dockerfile_nodejs/blob/master/Dockerfile

+6
2

. , node_modules .

docker-compose build node_modules npm install . docker-compose up , , node_modules.

, nodejs npm install . , , , node_modules , .

, , . docker build docker run nodemon .

- , .

!!

+7

, package.json.

, :

 "scritpts": {
     "preinstall": "npm i nodemon -g",
     "start": "nodemon app.js",
 }

:)

0

Source: https://habr.com/ru/post/1615514/


All Articles