Introduction to Docker by a College Student
What you need to know about docker and containers for your internship
--
My Background with Docker
Before delving into the technical aspects of Docker, I thought it would be good to provide a brief introduction to my experience with Docker. This will allow you to compare your level of exposure and understanding to mine.
My first encounter with Docker was during my frontend internship in my first winter break as a freshman studying Computer Science at the National University of Singapore. At the time, I had no idea what Docker was or how it worked. All I cared about was getting Docker “up and running” so that I could work on the frontend React code, which was the only thing I recognized.
Honestly, I believe that most software engineers can manage if they know only how to get Docker “up and running” without understanding how it works. After all, Docker is mostly an additional tool meant for the convenience of deployment.
However, if you are as confused as I was about what Docker is and how it works, I hope this article will be helpful to you.
What is Docker
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.
This definition did not help me much back then, especially since I was unfamiliar with common software design patterns and how software comes together. Having just completed an online frontend course that taught basic HTML, CSS, JavaScript, and React, I was not familiar with how software is organized into frontend, backend, database, and deployment components.
Therefore, before explaining what Docker is, let’s first understand how a typical web application functions and where Docker fits into the picture. To create a web application, developers typically need to write code for the frontend, backend, and database. The frontend is responsible for the user interface, which includes HTML, CSS, and JavaScript that users see and interact with. The backend processes requests from the front end, performs calculations or data manipulations as…