Докер-сочинять застрял при подключении к - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь докернизировать мое приложение реакции.

Всякий раз, когда я запускаю docker-compose up, он застревает на "Присоединении к"

Dockerfile

# Stage 0 - Pre-requisite: Based On Node.js to BUILD and compile App.

FROM node:10.15.0-alpine as node

WORKDIR /app

COPY package.json /app/

RUN npm install 

COPY ./ /app/

RUN npm run build

# Stage 1 - Based On Nginx to have ONLY a compiled and PRODUCTION ready build.

FROM nginx:1.15.8-alpine

COPY --from=node /app/build/ /usr/share/nginx/html

COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf

докер-compose.yml

version: '3'

services:
  idcheck-demo:
    image: idcheck-demo
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080

Nginx-custom.conf

server {
    listen 8080;
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
}

Я попытался получить доступ к нему, перейдя на 0.0.0.0:8080, но он просто возвращает меня со следующей ошибкой в ​​браузере

Эта страница не работает. 0.0.0.0 не отправлял никаких данных. ERR_EMPTY_RESPONSE

1 Ответ

0 голосов
/ 25 января 2019

Сначала проверьте, если контейнер работает. Вы можете сделать это, запустив:

docker-compose ps

В случае вашей конфигурации я получил:

         Name                   Command          State               Ports             
---------------------------------------------------------------------------------------
54368216_idcheck-demo_1   nginx -g daemon off;   Up      80/tcp, 0.0.0.0:8080->8080/tcp

Как вы можете видеть, контейнер работает с nginx без демонизации, что объясняет, почему консоль зависает после запуска docker-compose.

Вы также можете запустить быстрый telnet для проверки правильности ответа службы HTTP:

telnet localhost 8080
Trying ::1...
Connected to localhost.
Escape character is '^]'.

Суть в том, что консоль, застрявшая в "Присоединении к ...", вызвана тем, что процесс nginx не работает как демон.

Вы можете перевести контейнер в фоновый режим:

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