IssueRaiser

Docker Compose support in Task definitions

External services (MySQL, redis, memcached) and the need for an "uber container" to run our test suites are a pain point for the Pivotal Tracker team. For example, our Dockerfile installs the same version of MySQL 5.6.x that we run on [pivotaltracker.com](https://pivotaltracker.com) to run tests. But, we also have a [PCF tile](https://network.pivotal.io/products/pivotal-tracker-cf) that runs against [p-mysql](https://network.pivotal.io/products/p-mysql). There seem to be two options for testing both DBs: 1) Have a second docker image that duplicates the uber image, substituting MariaDB 10.0.x for MySQL 5.6.x. 2) Jump through hoops of installing both MySQL and MariaDB in the same docker image (using something like http://mysqlsandbox.net/) We've gone with option 1 for the time being. While an external service such as RDS is an option, I'd rather not be in the business of managing pools of instances and incur the extra network latency. --- In an ideal, future-Concourse world, I could mix and match my external services with [Docker Compose](https://docs.docker.com/compose/). As an example, see how Logplex runs their suite on TravisCI: - https://github.com/heroku/logplex/blob/master/.travis.yml#L13-L15 If they want to run against redis 3.x, it's as simple as changing a line: https://github.com/heroku/logplex/blob/master/docker-compose.yml#L5 An added benefit of Docker Compose is how quickly you get an environment running locally on your workstation. I don't have any of the

Posted by oppegard on Mar 25, 2016, 4:48 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.5,000 issues0 comments

support (Network)

Docker Compose support in Task definitions

oppegardMar 25, 2016, 4:48 PM

External services (MySQL, redis, memcached) and the need for an "uber container" to run our test suites are a pain point for the Pivotal Tracker team. For example, our Dockerfile installs the same version of MySQL 5.6.x that we run on [pivotaltracker.com](https://pivotaltracker.com) to run tests. But, we also have a [PCF tile](https://network.pivotal.io/products/pivotal-tracker-cf) that runs against [p-mysql](https://network.pivotal.io/products/p-mysql). There seem to be two options for testing both DBs: 1) Have a second docker image that duplicates the uber image, substituting MariaDB 10.0.x for MySQL 5.6.x. 2) Jump through hoops of installing both MySQL and MariaDB in the same docker image (using something like http://mysqlsandbox.net/) We've gone with option 1 for the time being. While an external service such as RDS is an option, I'd rather not be in the business of managing pools of instances and incur the extra network latency. --- In an ideal, future-Concourse world, I could mix and match my external services with [Docker Compose](https://docs.docker.com/compose/). As an example, see how Logplex runs their suite on TravisCI: - https://github.com/heroku/logplex/blob/master/.travis.yml#L13-L15 If they want to run against redis 3.x, it's as simple as changing a line: https://github.com/heroku/logplex/blob/master/docker-compose.yml#L5 An added benefit of Docker Compose is how quickly you get an environment running locally on your workstation. I don't have any of the

Comments (0)

No comments yet. Start the discussion.

Comment on this issue