Docker

Generate free SSL certificates with Docker and LetsEncrypt

It’s been more than a year in the waiting, after I found out that Mozilla Foundation, Akamai, Cisco, and a bunch of other big players put their support into LetsEncrypt, a free certificate authority. Back then (I’m speaking as if 2014 was still in the time of Yugoslavia or USSR), you would have to go trough several complicated steps for generating a SSL certificate for free (client certificates, issuing certificate signing requests, worrying about key size, key formats, validating your certificate via e-mail, …). I promise, the wait is over.

Read more

Docker: portable environment

When setting up a development environment, eventually you’ll have to deal with migrating the services to another machine. Docker allows you to migrate docker images between servers, so you can take advantage of different VPS providers, more resources like memory, disk space, faster CPU or SSD drives.

Read more

Run NodeJS anywhere using Docker and Nexe

A project I’m working on currently requires me to build a server side agent daemon. Due to the nature of the agent, a live connection requires to be open to the managing node server, using websockets. PHP is not very well suited to this kind of workload, so the obvious choice was to develop it using NodeJS. I will build a Docker image containing the application, as well as provide a standalone binary for people who don’t have Docker, but also don’t want the hassle of installing NodeJS.

Read more

Testing PHP code using Docker

Setting up a testing environment can be a rewarding pursuit - if you do your testing before you deploy code, your tests can signal errors and stop you from deploying a critical mistake to production. Testing requires various software, depending on your development process. One of the most common php testing frameworks is phpunit. Let’s see how we can set up a Docker driven test environment.

Read more

Getting started with docker

Docker is a popular way of packaging your applications, or micro services into container images, which can be copied to any running docker server. Docker uses a linux kernel feature - namespacing - which allows it to run applications in isolation away from the operating system, much like virtual machines, avoiding common pitfalls of virtualization like CPU and RAM allocation. Each docker container is much like any standalone application, except for the fact that it’s isolated away from the host OS.

Read more