定义防止出版的端口我有一个定义将运行我的应用程序和服务,该应用程序依赖于运行的服务的码头工人撰写文件:在撰写文件
services:
frontend:
build:
context: .
volumes:
- "../.:/opt/app"
ports:
- "8080:8080"
links:
- redis
image: node
command: ['yarn', 'start']
redis:
image: redis
expose:
- "6379"
对于发展这个撰写文件自曝8080
,以便我可以从浏览器访问正在运行的代码。
在jenkins但是我不能公开那个端口,那么两个同时运行的作业会冲突试图绑定到jenkins上的同一个端口。
有没有一种方法可以防止docker-compose绑定服务端口?像--service-ports
旗的倒数?
对于背景:
在詹金斯我运行使用docker-compose run frontend yarn test
,不会端口映射,所以是没有问题的测试。
当我尝试运行对应用程序的端到端浏览器测试时,会出现此问题。我使用容器对正在运行的应用程序实例运行CodeceptJS测试。在这种情况下,我需要在运行测试之前启动前端,因为如果应用程序未启动,它们将失败。
如果'CodeceptJS'是一个容器,基本上你可以将它作为一个服务添加到组合文件中,然后'前端'服务包含'CodeceptJS'作为候选链接的一个,然后使用'expose'而不是'端口“将8080暴露给链接的服务。这会工作吗? –