Docker is written in GO. It is an Open Source and has emerged as a platform containers used to group pieces of software into a complete file system and with everything we need to run it.
Anything that can be installed on the server can be stored in containers and this facilitates the execution of the same software, and their respective versions, in different development environments.
The chart below, taken from Google Trends, demonstrates the growing popularity and research about Docker.
The Go programming language that is used in Docker, was created by Google in November 2009, available as open source and is referred to as for the construction of simple, reliable and efficient software.
For those who work and are familiar with the way WordPress works, it’s easy to parallelize a quick understanding of Docker.
Docker is Open Source, just like WordPress. You download Docker software, just like WordPress.org, and use it for your specific needs. You can use Docker.com’s infrastructure and environment, if you do not want to install and maintain, like WordPress.com.
Docker can be extended through plugins, just like WordPress. The latter represents more than a quarter of the entire internet, and the former continues to grow.
Docker containers or Virtual Machines (VM)
Docker . VM. Or both. The choice needs to be set according to the scenario and wise choices will make use of the best option according to the context.
The popularity and adoption of Docker have come across several merits of the platform. The image below depicts one of them related to portability.
The first block of image elements represents one structure for VMs while the second for Containers.
Both allow you to isolate resources. Both include the application, the libraries, and the required files. However, Virtual Machines require a guest operating system and therefore space and cost of maintenance.
With this scenario a Docker framework is more portable, easier to maintain, its containers share the same hosting operating system, processes run in isolation, and space and cost are lower.
The decision will be based on costs, portability, performance and knowledge of the implementation and support team. In this case, the maxim will always be true: the best language, the best platform is the one that you and your team dominate.
The present writer has consciously inclined to Docker and the gains have been significant for hosting WordPress sites.
The advantages of using containers for development environments
As already said that portability is one of the great advantages of using Docker, its platform and container structure is advantageous for the development environments.
A configuration that is applied in the local development environment can be carried and applied more easily in the type-approval environment and therefore in production.
The similarity of the characteristics of the environments of an application guarantees a better execution and guarantee that we do not have unwanted errors or surprises at the time of deployment.
In addition, there is a significant time-saving in configuring environments or wasting time analyzing and identifying differences in environments.
A practical example of using Docker
Once you master the concept and start practices on containers, your imagination will begin with a process of unimaginable uses.
A practical example, you are running a WordPress project with PHP version 5. *. There is an intention to update the language for its seventh version.
As the framework is done using Docker, it is extremely simple to change the PHP version, perform the tests and stay with this new version if the tests were satisfactory or return to the previous version while working on the necessary fixes.
For this example in question, each version of PHP, remember anything that can be installed on the server can be stored in containers, it would be allocated in a specific container that will be required to run PHP.
And with you, how have been Docker’s practical uses?