docker-compose up卡在附加到

时间:2019-01-25 15:24:17

标签: reactjs docker docker-compose

我正在尝试对我的React应用进行docker化。

每当我运行<ion-button (click)="myCallback()">时,它都会卡在“附加到”上

Dockerfile

docker-compose up

docker-compose.yml

# 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

nginx-custom.conf

version: '3'

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

我尝试通过访问0.0.0.0:8080来尝试访问它,但它只是在浏览器中返回以下错误

  

此页面无法正常工作0.0.0.0没有发送任何数据。   ERR_EMPTY_RESPONSE

3 个答案:

答案 0 :(得分:1)

当我使用“ docker-compose up”启动nginx时遇到了这个问题。原因是端口冲突,因此我通过更改端口配置来解决它。

答案 1 :(得分:1)

在我的情况下是docker-compose.yml处的端口转发。当暴露的端口是80时,我正在转发到8080,因此,当我在docker-compose.yml处将端口转发更改为80时,该服务应已完成。

不好。:信誉不佳,无法发表评论,所以我在这里做了。抱歉:)

答案 2 :(得分:-1)

首先检查容器是否已装好。您可以通过运行以下命令来做到这一点:

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 up之后控制台挂起。

您还可以运行快速telnet来查看HTTP服务是否正确响应:

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

最重要的是,控制台卡在“附加到...”上是由于nginx进程未作为守护程序运行。

您可以将容器置于后台运行状态:

docker-compose up -d