Команда запуска NestJS возвращает убитую без ошибок в conatiner

#node.js #docker #npm #nestjs

#node.js #docker #npm #nestjs

Вопрос:

Я пытаюсь запустить и запустить NestJS в моем контейнере. В настоящее время у меня это настроено как мой docker-compose.yml

 
services:
  redis-cluster:
    image: internal-repo.com/devops/redis-cluster:5.0.5
    ports:
      - 7000:7000
      - 7001:7001
      - 7002:7002
      - 7003:7003
      - 7004:7004
      - 7005:7005
      - 7006:7006
      - 7007:7007
      - 7008:7008
    environment:
      IP: 0.0.0.0
      MASTERS: 3
      SLAVES_PER_MASTER: 2
  app-orders:
    image: app-orders
    build:
      context: ..
      dockerfile: $PWD/Dockerfile
    working_dir: /workspace
    depends_on:
      - 'redis-cluster'
    environment:
      NODE_ENV: development
    volumes:
      - ..:/workspace
    ports:
      - 50099:9229
      - 3000:3000
    command: /bin/sh -c "while sleep 1000; do :; done"
  

У меня есть это для моего Dockerfile

 FROM internal-repo.com/devops/node/ubuntu-1804:12.16.2 as build-env
ENV NODE_VERSION 12.16.2

WORKDIR /workspace

RUN apt-get update amp;amp; apt install python -y
# Ensure the image timezone mirrorsCorp HQ
ENV TZ=America/Los_Angeles
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime amp;amp; echo $TZ > /etc/timezone

COPY .devcontainer/library-scripts/docker-debian.sh /tmp/library-scripts/
COPY package.json package.json

RUN npm i -g nodemon
RUN npm i -g @nestjs/cli
RUN npm install

# App specific environment
ENV PACKAGE_JSON_PATH ../package.json

  

Я настроил свой docker на запуск команды sleep, чтобы я мог запустить этот контейнер и запустить с ним интерактивную оболочку. Если бы я попытался поместить команду npm в качестве run, она просто вылетела бы через несколько минут.

В интерактивной оболочке я попытался запустить npm start: dev, который использует rimraf для удаления папки dist, а затем запустить nest start —watch. Проблема в том, что она будет работать некоторое время, сгенерирует новую папку dist, а затем быстро умрет. В журнале npm указано только ошибка 147. Если я попытаюсь запустить nest start —watch вручную, он немного посидит, говоря «Запуск компиляции в режиме просмотра», и просто скажет «Убит». Я не знаю, почему это сбой или что исправить.

Странно то, что если я не попытаюсь запустить ее в контейнере, она будет нормально работать на моем Mac (при условии, что у меня есть кластер redis, который уже запущен и запущен в контейнере)