Docker image built on centos 6 for running bamboo agents
Asked by Akhil Kanaskar:

Hello,

I read about how we run bamboo agents using docker, which is really amazing. However as per my understanding the docker image for running bamboo agents is build on ubuntu which means if you have any specific requirements related to centos( e.g. rpm packages ) you cannot use this image.

Does anyone have any ideas/suggestions how we can build docker image built on centos so that projects which have centos requirements can be run on that docker image.

Regards,

Akhil.


Answers:
author: Felipe Kraemer
body: Hi Akhil,

I've discussed about this with the Bamboo developers, and they've mentioned that the Docker plugin that they're developing will **not likely** fit your needs because it looks like you want to use [the public agent images](https://confluence.atlassian.com/display/BAMBOO/Getting+started+with+Docker+and+Bamboo) in CentOS instead of Ubuntu, and that will not be possible.

You will be able to create those yourself when the Bamboo development team opensource the code for those images, which they haven't done yet.

Kind regards,  
Felipe Kraemer


author: Felipe Kraemer
body: Hi Akhil,

You can have multiple remote agents running on the same server, as soon as the server has enough resources. Remote agents run independently and each one will be executing its own Docker tasks.

If you want to give this a try, please refer to this document:

<https://confluence.atlassian.com/display/BAMBOO/Getting+started+with+Docker+and+Bamboo>

If this answer was helpful, please allow me to ask you to mark my answer as accepted in order to have it in the top of the thread, also helping other customers.

Thanks in advance!

Kind regards,  
Felipe Kraemer


author: Akhil Kanaskar
body: Thanks Felipe for your answer and this what exactly i was looking for as an answer.

Can you notify me whenever the Bamboo development team releases docker bamboo agent image on centos, so that i can use it in future.

You can close this now.

Thanks\& Regards,

Akhil.


author: jvelapol
body: BTW, if you're familiar with how Docker works, you could "build" the Dockerfile from the Atlassian image:

`sudo docker history --no-trunc atlassian/bamboo-java-agent`

capture that to a file, and parse it. You'd have to change all of the "apt-get's" to "yum install" (and change the base, too, to a minimal centos base image), but it *looks* like all of the pieces are there and ready to go. If Atlassian provided an easy way to get access to their Dockerfile, that'd be even easier. You could then roll your own.

Incidentally, we're also a RHEL shop, so a centos based image would be pretty nice. Maybe I should work on that.

comments: author: Akhil Kanaskar
body: Hi Jon,Thanks for your reply..... for providing a way to build docker bamboo agent image on centos.It would have be better if Atlassian would have provided that and there are many people outside my organisation whom i talk to and they are also interested in it.Thanks\&Regards,Akhil.


author: Akhil Kanaskar
body: Thanks for your reply Felipe.

As per my understanding using docker bamboo agent we can run multiple agents on same host,so does this functionality will be provided with the docker plugin you are working on?

To give you a clear idea at the moment we have 10 machines(one remote agent on one machine) running on centos 6 to build 500+ plans, for long term i would like to have these 10 machine only and still be able to run more remote agents (say 20 remote agents, 2 remote agents on one machine) which can be achieved using docker bamboo agent . However since running remote agents using docker is using ubuntu as OS it does'nt suffice my needs.

Regards,

AKhil.


author: Felipe Kraemer
body: Hello Akhil,

We're working on a Docker plugin for Bamboo 5.8 which should help with your scenario. The plugin will provide 3 Bamboo build tasks to build, run and push Docker images. The Docker run task will run with the --rm=true parameter by default but you can also optionally run the container detached (--detach) and Bamboo will remove the detached containers at the end of the job even if the container is still running.

These tasks will run on existing agents with the Docker capability (not inside a Docker Bamboo agent) so there's no need to terminate the remote agent.

This Docker plugin will be released in Bamboo 5.8, which is planned to be released at the end of January 2015.

If this answer was helpful, please allow me to ask you to mark my answer as accepted in order to have it in the top of the thread, also helping other customers.

Thanks in advance!

Kind regards,  
Felipe Kraemer


Tags: bamboo-administration

docker