Dockerfile问题导致“ curl(56)Recv failure”

时间:2019-10-15 19:16:23

标签: docker nginx docker-compose dockerfile

我正在尝试从Nginx Dockerfile创建一个Docker容器,并且遇到了问题。首先,我执行了以下测试:

# docker run --name test -p 8080:80 -d nginx:latest
# curl localhost:8080

这没有问题。现在,当我尝试从就绪容器构建dockerfile时,我的问题开始了。以下是我的项目:

网络/ Dockerfile

FROM nginx:latest
MAINTAINER braulio@braulioti.com.br

LABEL Description="Project Frontend"

EXPOSE 80

VOLUME ["/usr/share/nginx/html"]

docker-compose.yml

version: '3'
services:
  web:
    build: web
    ports:
      - "8080:80"
    container_name: "project_frontend"
    volumes:
      - /app/project_frontend:/usr/share/nginx/html
    command: /bin/bash
    tty: true

当我现在尝试使用“ curl”命令时,结果如下:

curl: (56) Recv failure: Connection reset by peer

1 个答案:

答案 0 :(得分:1)

如@David所述,您根本不会启动nginx,因为docker-compose中的这一行将覆盖Dockerfile的CMD。

command: /bin/bash

将命令替换为

command: ["nginx", "-g", "daemon off;"]

或移动此Dockerfile

CMD ["nginx", "-g", "daemon off;"]

或者,如果您根本不提及Nginx基本图像,那么您会照顾好它。