如何使用docker

时间:2016-08-10 15:24:07

标签: jenkins docker jenkinsfile

我在专用服务器上使用jenkins 2。我的构建是一个多分支管道,这个构建的第一步是执行docker-compose up -d以运行数据库(redis和mongo)并对它们运行测试。

一切正常,直到你在同一时间在不同的分支上有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

我的构建是用Jenkinsfile完成的,我已经读过有一种方法可以在容器中运行构建

docker.image("some image").inside{
    // build
}

1 个答案:

答案 0 :(得分:0)

我建议你省略端口暴露。或者您需要将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

如果你的应用程序运行到docker网络端口暴露不需要。