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
。我试图查看来源,但在网上找不到。