docker容器中意外的未映射端口80

docker容器中意外的未映射端口80,docker,docker-compose,Docker,Docker Compose,当我运行docker ps时,我看到apphub ui容器上的端口80未映射,我希望它映射到4200,我也看到了。我不明白为什么存在80/tcp,它正在我的应用程序中创建连接拒绝问题 这是docker ps的输出 docker ps

当我运行
docker ps
时,我看到apphub ui容器上的端口80未映射,我希望它映射到4200,我也看到了。我不明白为什么存在
80/tcp
,它正在我的应用程序中创建连接拒绝问题

这是docker ps的
输出

docker ps                                                                                                                                                                                                                         10s +59%
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                          NAMES
22cb2b9c28d4        swimlane/apphub-ui:latest    "/usr/bin/reefer -t …"   20 seconds ago      Up 17 seconds       80/tcp, 0.0.0.0:80->4200/tcp   apphub_apphub-ui_1
19a78f93bfe7        swimlane/apphub-api:latest   "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        0.0.0.0:3000->3000/tcp         apphub_apphub-api_1
7b3478e2dcd5        mongo:3.6                    "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        0.0.0.0:27017->27017/tcp       apphub_mongo_1

我的docker撰写文件如下

version: '3.6'

volumes:
  mongo:

services:
  mongo:
    image: mongo:3.6 
    ports:
      - 27017:27017
    volumes:
      - mongo:/data/db

  apphub-api:
    image: swimlane/apphub-api:latest
    ports: 
      - 3000:3000 
    depends_on:
      - mongo

  apphub-ui:
    image: swimlane/apphub-ui:latest
    ports: 
      - 80:4200 
    depends_on:
      - apphub-api
    environment:
      - APPHUB_API_HOST=apphub-api

如果我将ui功能的映射端口更改为
4200:4200
,我的应用程序运行良好,并且我没有看到未映射的80

我感觉您希望将主机上的4200端口映射到容器的80端口。如果是这种情况,您应该切换值。i、 e

    ports: 
      - 4200:80

你能将该图像的
Dockerfile
添加到问题中吗?(是否公开80
?)我感觉您希望将主机上的端口4200映射到容器的端口80。如果是这样的话,你应该切换这些值。我同意@DavidMaze的观点,Dockerfile应该在那里
EXPOSE 80
。我试图查看来源,但在网上找不到。