在本地开发中,我经常使用 docker-compose 来获取 db 之类的服务,这些服务并没有太多移动,只是为了简单和与我的主机隔离。
现在的典型示例 - 我正在使用 webpack 开发一个基于节点的 SPA,并有一个支持 mongodb。在部署时,它们与 Kubernetes 捆绑在一起。
在本地,在开发应用程序时,由于生产力,我肯定希望从主机提供服务,但对于支持 mongodb,我宁愿只使用简单的 docker-compose。所以我只是像往常一样设置它:
version: '3.7'
services:
mongo:
image: mongo:4.1.7-xenial
command: "mongod"
ports:
- 5000:27017
volumes:
- kb-front-db:/data/db
volumes:
kb-front-db:
但是,这次我在主机端口 5000 上遇到了冲突,因为我已经将它用于另一个项目。我确实有很多这样的项目。
所以......我真的不想为我的所有项目提出某种端口编号方案以避免冲突,所以我正在寻找文档以找到一种使用 dns 的方法或只是桥码头网络名称来自主人…?但是我的搜索技巧在这里失败了,我似乎找不到方法……?我找到了很多关于从容器到主机的文档,但由于某种原因,如果不使用 HOST_PORT 手动公开,则不然。
我基本上只是想要一种从主机连接到 CONTAINER_PORT 上的 docker 容器的方法,使用某种比端口号更容易在我脑海中浮现的命名?
也许我在这里遗漏了一些非常明显的东西……任何提示都非常感谢!