Docker for Toss Developers Operating Financial Infrastructure
This course goes beyond simply teaching you how to use Docker as a tool; it approaches the subject from the perspective of solving the real-world dilemmas and problems encountered in professional practice. From unpredictable errors caused by differences between development and production environments, to configuration mistakes stemming from vague concepts of images and containers, and even the anxiety of "how much do I need to know to survive in the field"—this course explains it all based on firsthand experience operating financial infrastructure. Rather than just listing commands, it focuses on real-world cases: why certain structures are necessary, how to design images for easy maintenance, and how to handle containers for stable service operation. In particular, by prioritizing hands-on practice over theory, the course is designed to elevate students from simply "knowing how to use" Docker to "understanding it from an operational perspective" through visual comprehension and direct experience. This course provides practical standards and direction for those new to Docker, those who have used it but lack a clear conceptual grasp, and developers looking to take their infrastructure intuition to the next level.
The curriculum seems incredibly beneficial for beginners. I think those who know nothing at all will be able to learn everything through this single lecture!
5.0
warna
96% enrolled
It was a great lecture, and I enjoyed following along with each practice session!
5.0
02년생 개발자
91% enrolled
I purchased this along with the Kubernetes course, and after watching both... it feels like I've mastered everything needed for the basic process of utilizing Docker and Kubernetes!! It was very informative and helpful. Thank you.
What you will gain after the course
The ability to understand and explain Docker Image and Container structures from a practical perspective.
The ability to freely create and manage containers using basic Docker commands
Ability to write Dockerfiles and perform image building and optimization
The ability to stably configure container environments through Volume and Network settings
Ability to configure multi-container services using Docker Compose
Ability to understand dangling images and cache structures, and to clean up and manage images.
Ability to track and resolve issues through container log inspection and lifecycle management
The ability to configure and standardize local development environments based on Docker.
Development · Programming · Infrastructure
"It works on my local machine, but not on the server" The Docker course to end it all
This course is a hands-on container practice lecture that approaches Docker not just as a set of commands, but from the perspective of solving real-world problems. Starting from the concepts of Image, Container, and Layer, you will directly handle everything from lifecycle management, docker-volume, Network, and docker-compose, to GitHub-based deployment.
Difficulty: Beginner
Practice-oriented
macOS · Docker 28.0.0
Unlimited access period
Concept → PracticeA single flow from images to project operation
From a single image to project operationAlmost all the time is dedicated to hands-on practice
compose · volumeto image deployment with GHCR
Curriculum designed with a current Toss server developer who operates financial infrastructure The practice environment only requires macOS (Apple M3) and Docker version 28.0.0
I did Kubernetes first, and Docker was what remained.
Below is the actual conversation. The Toss developer, realizing the order was reversed, brought Docker back out.
Toss DeveloperNow that we've covered Kubernetes, we should cover Docker too, right?? Come to think of it, I should have done Docker first, but for some reason, I started with Kube lol
HongI'm... exhausted, can't I take a little break?? I even worked through the entire Lunar New Year holiday...
Kakao InterviewerYou should be grateful!!! You should be thinking about contributing to this meaningful work where both you and the viewers are studying. What do you mean, rest? I have plenty of things I want to do too, so get back to work now.
Naver InterviewerThis place is a bit scary;;
Hong.... Yes, brothers.. What else do you want to do with Docker..
Toss DeveloperI mean, Docker is a fundamental skill, honestly! I think if you don't know how to use Docker, you haven't been keeping up with modern studies enough. I can guarantee that many people will find it incredibly helpful if we cover Docker!
HongOkay.. I get it. Since we've done Kubernetes, let's cover Docker as well... I'll put in a bit more effort.
That's how this course was created. It all started with the phrase, "Docker is fundamental."
What you are currently experiencing
Is it enough for a back-end developer to just write application code?
Depending on the work environment, you might build the infrastructure yourself or focus solely on writing code. However, when it comes to Docker, most people get stuck in similar places.
You are using Docker, but you keep making configuration mistakes because the concepts of Image and Container are confusing.
"It works on my local machine but not on the server," wasting time due to environmental differences
Project configuration is always a makeshift solution because I don't properly understand Dockerfile and Compose.
It is difficult to check container logs, manage lifecycles, and clean up resources.
Operational tasks feel burdensome due to a lack of infrastructure knowledge.
Is staying in a position where you only write code the right choice for your career in the long run?
Why Docker
What kind of platform is Docker, and what does it do?
Docker is a container platform that allows applications to run identically anywhere. It resolves issues caused by differences between development, testing, and production environments at once, managing them by fixing the execution environment into an image.
Consistency
Docker는 개발·스테이징·프로덕션 환경을 동일하게 유지해 "내 컴퓨터에서만 되는" 실행 차이를 없앱니다.
Lightweight
Docker의 container는 VM보다 훨씬 가볍고 빠르게 뜨는 가상화 방식을 제공합니다.
Fast Deploy
Docker는 이미지 기반 배포로 애플리케이션을 몇 초 만에 실행하고 확장할 수 있게 합니다.
Isolation
Docker는 애플리케이션 간 의존성 충돌 없이 독립적인 실행 환경을 구성합니다.
Portability
Docker는 로컬·온프레미스·클라우드 어디서든 동일한 방식으로 실행할 수 있게 합니다.
The official documentation describes Docker as follows.
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.
Docker is an open platform for developing, shipping, and running applications. It enables you to separate your applications from your infrastructure so you can deliver software quickly. You can manage your infrastructure in the same way you manage your applications.
Modern backend systems are no longer composed of a single server and a single application. This course aims to help you understand Docker not just as a tool, but as an infrastructure platform responsible for actual operations, and to guide you through configuring it yourself from local environments to production levels.
A sneak peek of the actual course content
We cover scenes like this
The visuals are faster than the explanation. Here is an actual segment taken directly from the lecture.
Docker Named Volume for data persistenceHow to make data remain even after the container disappears
Private Docker Registry using GHCR (GitHub Container Registry) The workflow of uploading created images to GitHub and pulling them for use
Cache patterns using Image Layers and Dangling ImagesWhy builds get faster or slower, and how to clean up leftover images
If you've seen it on the screen, now it's time to launch it yourself.
It starts with receiving a single image and leads all the way to project operation.
I have brought the backend job postings exactly as they are. Docker is included in the list of required skills.
Megazone CloudDocker required
Nol UniverseDocker required
NexonDocker required
Kakao VXDocker required
Features of this course
Why this Docker course?
Created together with a Toss developer who manages financial infrastructure.
Lectures created together with current developers are rare. Together with an 8-year server developer who actually operates containers at Toss, we have designed everything from basic concepts to practical configurations based on real-world standards.
Almost all of the time is dedicated to hands-on practice.
Infrastructure is a great topic to cover theoretically, but there is a huge difference between that and actually typing commands to see containers go live. Practical exercises follow immediately after each conceptual explanation.
Eliminate mistakes caused by conceptual confusion
Once the relationship between Images, Containers, and Layers is established, configuration errors are significantly reduced. This course first builds that foundation and then covers everything from cache patterns to cleaning up Dangling Images.
A point of differentiation for juniors, and a fundamental skill for seniors.
If you stop at "I've configured infrastructure with AWS," the scope of what you can explain remains narrow. In modern infrastructure, it is difficult to discuss anything without Docker, and the standing of a junior who knows this versus a senior who does not is vastly different.
Recommended for these people
Who is this Docker course for?
Developers who use Docker but repeat configuration mistakes because they are confused by the concepts of Images and Containers
Developers who are stressed by environment discrepancy issues where "it works locally but not on the server"
A developer whose project configurations are always makeshift because they don't properly understand Dockerfile and Compose.
Junior developers who find it difficult to check container logs, manage lifecycles, and clean up resources
Developers who feel burdened by practical deployment or operational tasks due to a lack of infrastructure knowledge
Conversely, if you can immediately explain the difference between an Image and a Container, when the Layer cache breaks, and why you attach a Volume, you do not need this lecture.
Curriculum
Docker Course Curriculum
It is organized in a sequence for developers learning Docker for the first time. It starts with the background of its creation and basic commands, leading into image and container manipulation, optimization patterns, networking and Compose, and practical project management.
Section 1. Course Introduction
Course Introduction
Section 2. Docker Introduction and Environment Setup
The background of Docker's creation, differences from virtual machines, architecture, and how it operates on macOS
Executing Basic Docker Commands
Basic concepts of Image, Container, and Layer
Section 3. Basic Operations of Docker Images and Containers
Basic Commands for Image Utilization
Docker Hub Image Selection Patterns
Image Layer Cache Patterns and Dangling Images
Creating and Running Containers
Container lifecycle management and log checking
Essential Commands for Container Interaction
Section 4. Container Features and Optimization Patterns
We will cover container features and optimization patterns through hands-on practice.
Section 5. Network and Docker Compose
We will cover network configuration and managing multiple containers together using docker-compose.
Section 6. Practical Project Management
We conclude with patterns for managing projects as containers in real-world practice.
Technologies Covered · Practice Environment
What will be used for the hands-on practice?
Docker
container
Image · Layer
docker-compose
docker-volume
Network
GHCR
GitHub
macOS (Apple M3)
The course is conducted in an Apple M3 Air environment and is based on Docker version 28.0.0 (build f9ced58158). You can follow along by running containers locally without the need for a separate server.
If you have finished looking through the curriculum
The enrollment period is unlimited. You can also revisit only the specific sections you need.
The Toss developer who prepared this lecture together
Toss · 8th Year Server Developer
Toss Developer
I am an 8th-year backend server developer currently operating financial infrastructure at Toss. I majored in Computer Science at a regional university, and while my main stack is Java and Spring, I also have a strong interest in low-level languages. I met Hong at a conference, which led us to co-create and film this course together.
[Current] Toss Server Developer
[Former] KT Server Engineer
[Former] Nexon Platform Server Developer
Frequently Asked Questions
Docker Lecture Frequently Asked Questions
What is Docker?
Docker is an open platform for developing, deploying, and running applications. By bundling an application together with its runtime environment into a container, you can achieve the same results regardless of where it is executed. The core benefit is that it allows you to manage the application and infrastructure separately.
What is the difference between an Image and a Container?
An Image is a read-only package that freezes the files and settings required for execution, while a Container is the state in which that Image is actually running. You can launch multiple Containers from a single Image. In Section 2, we will first establish the relationship between Images, Containers, and Layers, and then handle each of them directly in Section 3.
How is Docker different from a Virtual Machine (VM)?
While a VM boots up an entire operating system, Docker containers share the host kernel, making them much lighter and faster to start. As a result, you can run more services on the same hardware, and deployment times are shortened to just a few seconds. We will cover this in Section 2, along with the background of its creation, architecture, and how it operates on macOS.
Why is docker-volume necessary?
If you delete a container, the data accumulated inside it also disappears. docker-volume places data outside the container so that the data remains even when a new container is launched. You can see this in action during the Named Volume practice in the preview video.
In what situations is docker-compose used?
It is rare to run just a single application. Usually, you need to run a database, cache, and application together, and running these one by one using commands every time leads to mistakes. docker-compose allows you to declare this configuration in a file to start and stop everything at once. This will be covered in Section 5 along with Network configuration.
Can beginners to Docker follow along?
Yes. As an introductory course, it starts with the background of Docker's creation and basic commands, establishes the concepts of Image, Container, and Layer, and then moves on to operations. Basic backend development experience is sufficient, and the optimization patterns and practical project management covered in the latter half will provide new insights even for those already using Docker.
How is the practice environment configured?
The course will be conducted on an Apple M3 Air using Docker version 28.0.0 (build f9ced58158). You can complete all the exercises by running containers locally without any paid cloud subscriptions, and we will go through the environment setup together in Section 2.
Does it also cover how to deploy images to GitHub?
Yes. It covers configuring a Private Docker Registry using GHCR (GitHub Container Registry). You can verify the workflow of uploading and pulling your own images through hands-on practice.
Should I take the Docker course before learning Kubernetes?
If you were to decide on an order, Docker comes first. Since Kubernetes is a platform for operating containers across multiple machines, you must first become familiar with what containers and images are. This lecture is the place to build that foundation.
What is the order of the Docker lecture curriculum?
It starts with an introduction to Docker and environment setup, followed by basic operations for Images and Containers, Container features and optimization patterns, Network and docker-compose, and finally, practical Project management. The enrollment period is unlimited.
The day you say "But it works on my machine" for the last time
Starting from receiving a single image, you will verify everything from volumes, networks, and Compose to deployment through hands-on practice.
I am running a developer open chat room where we share career advice, real-world work situations, and technology. Feel free to share any questions you have while taking the course or any concerns you have regarding your practical work.
I started studying development after becoming interested in it while idling at home, and I am currently responsible for platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.
These lectures are not created solely through my own knowledge. There are others who collaborate on every lecture.
I purchased this along with the Kubernetes course, and after watching both... it feels like I've mastered everything needed for the basic process of utilizing Docker and Kubernetes!! It was very informative and helpful. Thank you.
Hello, developer born in '02!! Thank you for leaving such a great review!! I'll continue to provide even more helpful content in the future!! Have a great day haha
The curriculum seems incredibly beneficial for beginners. I think those who know nothing at all will be able to learn everything through this single lecture!