【发布时间】:2019-08-21 14:15:14
【问题描述】:
当我运行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-compose文件如下
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
【问题讨论】:
-
您可以将该图像的
Dockerfile添加到问题中吗? (是EXPOSE 80吗?) -
我感觉您想将主机上的端口 4200 映射到容器的端口 80。如果是这种情况,您应该切换值。
-
我同意@DavidMaze 的观点,Dockerfile 将在其中包含
EXPOSE 80。我试图查看源代码,但在网上找不到。
标签: docker docker-compose