A few weeks ago I attended a technology event in Buenos Aires and the speaker asked the audience, Who knows Docker? Only half of the attendees raised their hands. I could not believe that so few people knew about this. So, I decided to make this post to tell you what Docker is so you can start using it in your projects.
What is Docker? It is a platform that makes a new and better use of containers to automate the deployment of applications. As you can find on the official Docker site, developers and system administrators use the platform to develop, deploy and launch applications with containers optimizing their times and facilitating their tasks. It allows absolute independence between apps and infra, and between IT ops and devs unlocking the potential of each part to create a model that improves collaboration and innovation.
The good thing is that Docker allows you to have control of each of the stages in the life of a product. How? All the elements of an application, such as the engine, the set of libraries and the kernel or the software tare packaged up in the same container and stored in our disk, and then run independently of the operating system. That means that you can transport and run the application wherever you want, without having to worry about the software or think if you have all the elements of the application to start it.
With Docker, we can work with multiple containers that share the same kernel and assign each CPU from which it can consume. Thanks to this, we can work with different applications simultaneously.
Why use Docker? Since you will be able to develop each application in separate containers, you avoid having to download and store a large number of libraries. At the same time, the number of waste left is reduced as you make progress on the development, and the development itself can be executed in optimal conditions and in any environment defined by you.
One important thing to keep in mind is that, when deploying a container, we will work on the system you have defined, and we add the package we consider necessary to it and we can also use previous versions that are stored, to correct errors or roll back after a modification.
What are the advantages of Docker? There are many advantages, but here are some of them.
- It is open source.
- Facilitates testing and the tasks.
- Saves time: it prevents you from installing different software to run an App.
- It is very easy to create and delete containers.
- The containers become very light: it allows to handle several within the same machine.
- It is less expensive: it requires less space and fewer servers.
- It gives you the freedom to have everything in one place as necessary to run an app
- Portability. By storing containers on hard drives, they can be transported from one place to another without problems.
- Docker repositories. “Bank of docker images” created by users to which we can have access.
- The maintenance and development process is accelerated thanks to the facilities to generate copies.
- Applications run without variations. Regardless of the equipment or the environment.
- It facilitates the visualizations to the client thanks to the fact that the client does not have to install nothing more on the computer than the docker.
- It is a safe environment and does not offer variations.
TIP: In any case, the best thing you can do is to expend more time to the correct configuration of your own container, so that in the long run you will be more skilled and will allow you to find problems more easily.
Finally, you will save a lot of time because opening a container using Docker is very easy and, consequently, you will be able to dedicate 100% of your effort to testing.
I hope this post has been helpful and that, like us on Toolbox, you are encouraged to investigate and use Docker in your projects.
Working with Docker, the technology that optimizes the use of software containers, saves you a lot of time. Take advantage to devote your effort to testing and launching the apps. If you still have time left read more notes to develop new things 😉