我目前正在开发一个基于 Ionic 的项目。由于我不想在本地安装node.js,所以我尝试了DDEV,即使它应该是PHP开发环境。
但是,当通过 ionicserve -l 提供我的应用程序时,我的应用程序的前端已构建,并且应该可以在 http://localhost:8200
上访问(在容器内)。好吧,我想我必须向我的主机公开这个端口。
为此,我已经尝试了一些配置,但没有成功。例如:
- 我配置了 nginx-site-conf 来监听端口 8200。我知道这是一次很弱的尝试,但我必须尝试一下。
- 此外,我创建了一个
docker-compose.override.yaml
并添加了要向我的主机公开的端口 8200。效果不太好。
有人有想法吗?或者 DDEV 不是适合这项工作的工具吗?
最佳答案
您需要执行一个 docker-compose.extraport.yaml(文件名是任意的)来将该端口公开给主机。
我尝试了这个 .ddev/docker-compose.extraport.yaml ,它工作得很好。我刚刚在容器内使用 nc -l -p 8200 并在主机上使用 telnet localhost 8200 进行了测试。
version: '3.6'
services:
web:
ports:
- published: 8200
target: 8200
有关添加额外 docker-compose 文件的详细信息位于 https://ddev.readthedocs.io/en/latest/users/extend/additional-services/和 https://ddev.readthedocs.io/en/latest/users/extend/custom-compose-files/ - 这些主要针对创建全新服务的人们,但它的工作原理与此处的覆盖相同。
关于javascript - 是否可以将 Node localhost 暴露给我的主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53089162/