Angular + Docker: проблема с docker -композицией - PullRequest
0 голосов
/ 02 февраля 2020

Я готовлю Dockerfile для моего angular приложения, которое выглядит следующим образом:

FROM node:11.6.0-alpine AS builder
COPY . ./ToDoApp
WORKDIR /ToDoApp
RUN npm i
RUN $(npm bin)/ng build --prod

FROM nginx:1.15.8-alpine
COPY --from=builder /ToDoApp/dist/ToDoApp/ /usr/share/nginx/html

Я использую команды:

docker build --rm -t todoapp:latest .
docker run --rm -d -p 90:80/tcp todoapp:latest

, и сайт был доступен при наличии: 90.

Нет, я пытаюсь подготовить docker -compose.yml, который я использую для запуска своего веб-сайта и других служб. Все работает, кроме моего сайта. Я понятия не имею, почему это не сработало. Я все еще получаю сообщение "todoapp завершен с кодом 0".

Мой docker -compose.yaml:

services:
  todoapp:
    container_name: todoapp
    restart: always
    build:
      context: ./ToDoApp
      dockerfile: Dockerfile
    ports:
      - "4200:80"
    volumes:
      - .:/usr/share/nginx/html

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 02 февраля 2020

Если вы хотите, чтобы ваш контейнер работал в автономном режиме, вам нужно запустить что-то на переднем плане. Самый простой способ сделать это - привязать устройство /dev/null к команде CMD или ENTRYPOINT вашего Docker образа.

Добавьте следующее как последний шаг в ваш файл docker

CMD tail -f /dev/null

http://bigdatums.net/2017/11/07/how-to-keep-docker-containers-running/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...