Этап 1: Сборка приложения в development среде
                  
                  
                  FROM node:18-alpine AS development
                  
                  
                  WORKDIR /usr/src/app
                  
                  
                  COPY package*.json ./
                  
                  
                  RUN npm install
                  
                  
                  COPY . .
                  
                  
                  RUN npm run build
                  
                  
                  
                  
                  
                  # Этап 2: Запуск приложения в production среде
                  
                  
                  FROM node:18-alpine AS production
                  
                  
                  WORKDIR /usr/src/app
                  
                  
                  COPY --from=development /usr/src/app/dist ./dist
                  
                  
                  COPY package*.json ./
                  
                  
                  RUN npm install --only=production
                  
                  
                  RUN rm package*.json
                  
                  
                  EXPOSE 3000
                  
                  
                  CMD ["node", "dist/main.js"]
                  
                  
                  
                  
                  
                  
                  
                  
                  docker-compose.prod.yml
                  
                  
                  
                  
                  
                  
                  
                  
                  version: '3.8'
                  
                  
                  services:
                  
                  
                    app:
                  
                  
                      build:
                  
                  
                        context: .
                  
                  
                        target: production
                  
                  
                      ports:
                  
                  
                        - "3000:3000"
                  
                  
                      environment:
                  
                  
                        - NODE_ENV=production
                  
                  
                        - DB_HOST=db
                  
                  
                        - DB_PORT=5432
                  
                  
                        - DB_NAME=mydb
                  
                  
                        - DB_USER=myuser
                  
                  
                        - DB_PASSWORD=mypassword
                  
                  
                      volumes:
                  
                  
                        - .:/usr/src/app
                  
                  
                      depends_on:
                  
                  
                        - db
                  
                  
                    db:
                  
                  
                      env_file: '.env'
                  
                  
                      container_name: nest-postgres
                  
                  
                      image: postgres:15-alpine
                  
                  
                      restart: always
                  
                  
                      environment:
                  
                  
                        - POSTGRES_USER=${TYPEORM_USERNAME}
                  
                  
                        - POSTGRES_PASSWORD=${TYPEORM_PASSWORD}
                  
                  
                        - POSTGRES_DB=${TYPEORM_DATABASE}
                  
                  
                      volumes:
                  
                  
                        - /docker-data/db:/var/lib/postgresql/data
                  
                  
                      ports:
                  
                  
                        - "5432:5432"
                  
                  
                    pgadmin:
                  
                  
                      container_name: pgadmin4_container
                  
                  
                      image: dpage/pgadmin4
                  
                  
                      restart: always
                  
                  
                      environment:
                  
                  
                        PGADMIN_DEFAULT_EMAIL: admin@admin.com
                  
                  
                        PGADMIN_DEFAULT_PASSWORD: root
                  
                  
                      ports:
                  
                  
                        - "5050:80"
                  
                  
                  volumes:
                  
                  
                    postgres-data:
                  
                  
                  
                  
                  
                  
                  
                  
                  База данных запускается, а nest приложение нет. Просто выходит exit with code 0 в логах ничего. Запускать образ из консоли пробовал тоже голяк..
                  
                  
                  
                  
                  
                  В чем может быть проблема?
                  
                  
                
в логах ничего в смысле нет вообще ничего или в логах факт запуска есть... и оно просто по exit 0 выходит?
 Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  CMD ["bash","-xce","node dist/main.js"] попробуйте так и логи посморите там строка с node dist/main.js должна появиться в docker-compose logs app
 Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  PS C:\Users\Alonecat\www\nest-docker> docker-compose logs app PS C:\Users\Alonecat\www\nest-docker>
docker-compose ps -a
 Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                   Он есть. Но exited
                      
                      Он есть. Но exited
                    docker-compose run --rm app ?
 Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Alik
                          Kotov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Container nest-postgres Started 0.4s Welcome to Node.js v18.16.0. Type ".help" for more information. >
node в интерактивном режиме запускается...
Обсуждают сегодня