Been playing with Docker again this weekend, this time rather than just doing for the sake of doing it I went for something a little more stable.

I started off by creating a new DigitalOcean droplet with the latest CentOS installed to run as a base. I then installed docker using the Docker Puppet Module .

So now I had Docker installed now what? I looked at some PaaS services, a bulk of them require Ubuntu (which I simply don’t do on servers), however Shipyard looked good. It was simple to install;

yum install
yum -y install docker-io vim-enhanced
vim /etc/sysconfig/docker # Replace other_args=”” with other_args=”-H tcp:// -H unix:///var/run/docker.sock”
service docker start
chkconfig docker on
docker run -i -t -v /var/run/docker.sock:/docker.sock shipyard/deploy setup

Once installed I added the agent using;

curl -L -o /usr/local/bin/shipyard-agent
chmod +x /usr/local/bin/shipyard-agent 
shipyard-agent -url http://<shipyard-host>:8000 -register

Once the agent has been registered you should have a key, make a note of this because you need to ensure that the agent is always running, to do this I used supervisord ;

yum install python-pip
pip install “pip>=1.4,<1.5” — upgrade
pip install supervisor

cat >> /etc/supervisord.conf << SUPERDUPER

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

port =


command = shipyard-agent -url http://<shipyard-host>:8000 -key <shipyard-key>

supervisord -c /etc/supervisord.conf

As I needed to checkout PHP 5.5 & MySQL 5.6 on CentOS using The IUS Community Project for another project I created the a GitHub Repo and then published it as a trusted build on the Docker Index .