Dockerfile原因问题“;旋度(56)Recv故障“;

Dockerfile原因问题“;旋度(56)Recv故障“;,docker,nginx,docker-compose,dockerfile,Docker,Nginx,Docker Compose,Dockerfile,我正在尝试从nginx Dockerfile创建docker容器,但遇到问题。首先,我进行了以下测试: # docker run --name test -p 8080:80 -d nginx:latest # curl localhost:8080 这是没有问题的。现在,当我试图从一个现成的容器构建dockerfile时,问题就开始了。以下是我的项目: web/Dockerfile FROM nginx:latest MAINTAINER braulio@braulioti.com.br

我正在尝试从nginx Dockerfile创建docker容器,但遇到问题。首先,我进行了以下测试:

# docker run --name test -p 8080:80 -d nginx:latest
# curl localhost:8080
这是没有问题的。现在,当我试图从一个现成的容器构建dockerfile时,问题就开始了。以下是我的项目:

web/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

正如@David所提到的,您根本没有启动nginx,因为docker compose中的这一行将覆盖Dockerfile的CMD

command: /bin/bash
将命令替换为

command: ["nginx", "-g", "daemon off;"]
或移动此Dockerfile

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

或者,如果您没有提及,Nginx基本映像将负责处理。

您明确告诉Docker不要运行Nginx,而是运行bash shell。这是一个复制/粘贴问题。工作得很好!谢谢@DavidMaze