Deploying a Stable Docker Setup on CentOS with Shipyard
Deploy a stable Docker setup on CentOS with Shipyard for container management, using Puppet for installation and Supervisor for high availability.
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 http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmyum -y install docker-io vim-enhancedvim /etc/sysconfig/docker # Replace other_args=”” with other_args=”-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock”service docker startchkconfig docker ondocker run -i -t -v /var/run/docker.sock:/docker.sock shipyard/deploy setupOnce installed I added the agent using;
curl https://github.com/shipyard/shipyard-agent/releases/download/v0.3.1/shipyard-agent -L -o /usr/local/bin/shipyard-agentchmod +x /usr/local/bin/shipyard-agentshipyard-agent -url http://<shipyard-host>:8000 -registerOnce 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-pippip install “pip>=1.4,<1.5” - upgradepip install supervisor
cat >> /etc/supervisord.conf << SUPERDUPER[supervisord]
[rpcinterface:supervisor]supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[inet_http_server]port = 127.0.0.1:9001
[supervisorctl]serverurl=http://127.0.0.1:9001
[program:shipyard]command = shipyard-agent -url http://<shipyard-host>:8000 -key <shipyard-key>SUPERDUPER
supervisord -c /etc/supervisord.confAs 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.
Related terms: Agent SkillsAI Coding AssistantApplication Programming InterfaceClaude CodeCodexCommand-Line Interface
Keep reading
Comments


