When I'm learning programming, I often hear Docker.
Docker seems to be an essential skill for job hunting. I hope I can output little by little while studying what I can do.
--Platform for creating, running and managing container-type virtual environments --You can use Docker software to quickly start a container and run various applications. --You can easily reproduce the same virtual environment in different environments (PCs and servers) --Docker software itself is written in Go language
-A container is a kind of virtual environment. You can create a container on your PC or server and run programs in that container.
If you want to run a Python application, you can use a container with Python installed to instantly run the Python application and see how it works. A feature of container-type virtual environments is that various applications can be executed quickly by starting a container that suits the purpose.
If you want to reproduce the same environment on different PCs and servers, you can easily build a similar environment by sharing the docker configuration file. This comes in handy when setting up the same environment among members of the development team.
Also, the docker software itself is written in Go language. It may not be something that you usually care about, but if you get used to the Go language a little, such as using the Go template format when specifying the output format of the docker command, it may be easier to use. think.
--Application development environment --Verification environment, production environment --Construction of Web server, database server, etc. --Execution environment for various programming languages --Other various middleware environment construction
The application development environment is a case used when running an application under development on a developer's personal computer. Web application projects are so widespread that they may be used by most companies. First of all, when you enter a project, there are quite a lot of cases where you build a development environment with docker on your PC, so I think that developers have to learn the basic usage.
In the verification environment and production environment, docker is also used when running applications created by each developer on the server. In application development, a development environment is prepared on the developer's PC to develop the application. When the application is completed, combine the environment and the application into one block in the form of a docker image. Upload it to a server that manages images called the docker repository. By downloading the image on another server and starting the container from the image, you can basically start the same environment on the server as when you developed it. One of the advantages of docker is that you can quickly perform the flow from this development to running on the server. A verification server is generally a server for checking the operation in an environment equivalent to the production before the production release, and a production server is a server that is actually accessed by the user. In general web application development, it seems that development proceeds by repeating a series of steps such as developing on a development PC in this way, checking the operation on the verification server, and releasing it to the production server if there is no problem. is.
Nginx, Apache for the web server. You can easily start up commonly used database servers such as MySQL and PostgreSQL by using docker. There is a docker image that is officially published to create these servers as containers, and you can easily launch a container for servers by using this image.
Similarly, docker images are widely published for programming language execution environments and other middleware, so it is possible to launch various containers using these images. You can check what kind of image is released on the site operated by docker, which is mainly called docker hub.
It was a rough explanation. I will study more and more about Docker and publish articles.
If you have any incorrect explanations, please let us know in the comments.
Recommended Posts