如何使用docker隔离jenkins中的构build
我在专用服务器上使用jenkins 2。 我的构build是一个多分支pipe道,这个构build的第一步是做一个docker-compose up -d
为了运行数据库(redis和mongo)并运行testing。
一切正常,直到你有两个同时在不同的分支提交; 2版本之一不能启动容器,因为该端口当然已经被占用。
我希望能够在2个不同的分支上运行2个版本:我如何实现这个目标?
我docker-compose.yml
文件如下所示:
mongo: image: mongo:2.6.12 ports: - 27017:27017 mem_limit: 100m redis: image: redis:3.0.7-alpine ports: - 6379:6379 mem_limit: 60m
我的构build完成与Jenkinsfile
,我读了有一种方法来运行一个容器内的构build
docker.image("some image").inside{ // build }
我会build议你省略端口暴露。 或者您需要将Docker端口暴露给随机的Docker端口
mongo: image: mongo:2.6.12 ports: - 27017 mem_limit: 100m redis: image: redis:3.0.7-alpine ports: - 6379 mem_limit: 60m
如果您的应用程序运行到dockernetworking端口暴露不需要。