Using docker images to provide external services

Hi Folks,

I have a couple of questions about using docker images to provide external services that I couldn’t figure out from the docs.

First is about how this contributes to billing resource limits. Lets say with each test job, we run additional containers for zookeeper, kafka, and the confluent schema registry (all publicly available docker images). Do each of these count towards the limit of concurrent containers for the duration of the job? Is there any limit (beyond “whatever you can afford”) to the number of concurrent containers that can be run?

Second, in a private build, I recently changed a circleci build script to provide the services listed above available as docker containers rather than installing the binaries in the primary container and running them in the background of the test process. I was surprised to see that this slowed the test down from ~3m to ~7m. Is this what you’d expect to see? Anything I can do to mitigate? Would be nice to avoid the complexity of installing and running external services in the background.


I believe they do not. I don’t use secondary containers myself (since I run Docker-in-Docker on CircleCI, and thus only use the primary build container). I say this because the free tier only has a parallelism of one, but secondary containers are still very much supported. I don’t know if there is a limit of the number of secondaries one can have.

With regard to speeding up a test, have a look at which part is slow - where is the additional time coming in in the UI?

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.