My experience with Docker

My experience with Docker

Deployment Tool

Docker

In my previous job as a senior Web Developer, we used docker as a deployment and container for our microservices. I did not have much involvement apart from reading the docker file once a while and updating the application version - in contrast to the system admin who already configured it. The process was as follows:

  • The developer sent a merge request once his or her work was complete
  • The Team Lead or an authorised Senior Developer accepted and merge the request into master
  • Through CI, GitLab then deployed the latest changes to the Test Site
  • The System Admin would later update the Production Site if the new changes were valid and there was regression

Docker Desktop

In my new job, I started using Docker on a temporary laptop with Windows 10 Home, thereby requiring the Docker Toolbox - also providing a nice Linux type terminal within Windows. With my new laptop and Windows 10 Pro, I can use Docker Desktop directly which uses Hyper V (virtualisation) but I prefer installing the Toolbox to have the Linux terminal.

If the opportunity arises, I can eventually switch to Ubuntu later on.

For me, the biggest benefit of using Docker is when you want to develop new systems but at the same time do not want to rewrite already existing APIs which are still working well for customers. Instead of rewriting the whole system, which could probably take years to be in production, you can refactor the current system or add an API layer, and use another middleware to connect to them or directly through SPAs such as Angular, Vue and ReactJS.