When learning programming or developing a system, the first obstacle that stands in the way is “building a development environment.” Installing the necessary software and libraries directly onto your PC (host OS) can cause various problems, such as version conflicts and an overly complex environment that slows down your PC. Therefore, we recommend building a development environment using Docker.
Docker is a tool that creates virtual environments called “containers” on your PC. Unlike traditional virtual machines (VMware, VirtualBox, etc.), they are lightweight and start up very quickly. By using Docker, you can launch a development environment (container) only when needed and delete it without leaving a trace when it is no longer needed, so you can always keep the host PC environment clean.
The biggest advantage of building an environment using Docker is “environment reproducibility.” By writing in a configuration file such as Dockerfile or docker-compose.yml what OS and version of language to install, you can create the same development environment on anyone’s PC with a single command. This can dramatically reduce problems unique to development sites, such as “It works on my PC, but not on someone else’s PC.”
At first, it may take some time to understand Docker’s unique concepts such as “containers” and “images,” but once you master the basics, you’ll be able to set up any development environment in minutes, including Python, Node.js, PHP, and databases.
In order to step up as an engineer, please try building a modern development environment using Docker.

