Docker Series 1 - Dockerize our hosting environment

Here at Palm, we love Docker. Docker allows us to deploy apps quickly and easily across a cluster of our cloud servers. Here's a little tutorial explaining how we dockerize our hosting environment.

A checklist of what we gonna do:

  • Nginx as web server
  • Nginx pagespeed module
  • PHP5 FPM

Some say that the idea of Docker is to run a single process in a container such that we need 3 containers in this case. Well, I am going to say that's absolutely not true. Docker runs fine with multiple processes in a container and the core idea of Docker should be running a single service in a container. In our case, that's our hosting service, so we are going to build one single container only.

Building the container is easy, for those of you who don't know what Dockerfile is, please refer to Dockerfile reference.

Here's our Github Repo for our docker image:

playahk/docker-nginx-pagespeed-php

Contribute to docker-nginx-pagespeed-php development by creating an account on GitHub.

To Use it:

Apart from web servers, we use MySQL as our primary database of choice. To save us time, we use the official MySQL docker image from Dockerhub:

In docker series 2, we will introduce the use of docker swarm to manage a cluster of docker servers.

Posted on 04/06/2016

Work with us to create the next big thing together

Take your first step to build your product.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.