강의

멘토링

커뮤니티

BEST
Programming

/

Devops & Infra

Docker virtualization technology for DevOps (Private Harbor Registry)

This course is a process of learning about container virtualization technology, one of the four components that make up Cloud Native Architecture. It is a learning process that understands the basic concepts of container virtualization, which is the best way to deploy and operate Microservice applications, and covers Docker technology, which is the most widely known container virtualization technology. In addition to theoretical learning about the essential content required to deploy and operate applications developed in MSA form, you can understand how actual Docker containers work through related practical examples. In this course, you can also learn about various elements such as Docker Security and Logging that have not been covered in other existing lectures, and in the final practical project, you can build services (Harbor + Argocd) that can be linked to Docker technology and deploy applications to practice the core operating environment required for DevOps.

(4.8) 21 reviews

492 learners

  • Dowon Lee
컨테이너
데브옵스
가상화
이론 실습 모두
교수님 강의
Docker
CI/CD
Virtualization
MSA

Reviews from Early Learners

What you will learn!

  • Docker container technology

  • Create Docker Image

  • Configuring Docker Registry

  • Multi-container management using Docker Compose

  • Docker Security

  • Analyzing Docker Log Files

  • Container technologies other than Docker

  • Docker Build for Multi-Platform

  • Setting up a Docker environment in CI/CD

  • Private Harbor Registry

  • Jenkins CI/CD Pipeline Integration

  • Kubernetes Deployment (Argocd)

How should applications developed with Microservice Architecture be deployed/operated? 🤔

Applications developed with Microservice Architecture must be deployed and operated using container virtualization technology. CNCF (Cloud Native Computing Foundation, https://www.cncf.io/ ), a subsidiary organization of Linux , defines microservices, container virtualization, CI/CD, DevOps, etc. as various software and infrastructure components used to build and run Cloud Native Application Architecture. Among them, it introduces a technology called container virtualization to run and operate the results developed as cloud native applications, and the most popularly known and used service in the field of container virtualization technology is the Docker service.

This lecture covers the core concepts required to understand Docker virtualization technology, the Docker Compose technology required to configure and manage multiple containers, security considerations when using container virtualization, and the linkage with CI/CD pipelines, as well as Docker Orchestration, and is structured to practice related example code.

Through various practical examples and toy projects, in addition to the core functions of Docker virtualization technology, we introduce how to containerize, manage, and operate a simple 3-tier structured application. Using the Orchestration tool included in Docker Desktop, we learn not only how to manage basic resources, but also how to perform scaling tasks and rolling updates for services.

The latter half of the lecture covers not only Docker's basic runtime and registry, but also how to use Docker through alternative technologies such as Podman or Harbor. The final project also introduces the process of deploying and operating through Jenkins, Kubernetes, and Argocd.

In this lecture, you will learn about the overall contents of container virtualization and how virtualization technology can be used to build IT infrastructure.

💡 Take your first step towards becoming a container virtualization expert in DevOps.

  • Understand container virtualization technology and learn how to deploy applications by separating them into multiple containers.

  • We use a variety of images to explain concepts and deliver content in an easy-to-understand manner.


  • This course is designed to allow you to combine theory and practice. It is not limited to theoretical lectures, but is designed to allow you to directly test the concepts explained in each section through practical training, and is designed to allow you to easily practice examples even if you do not have advanced knowledge of programming or infrastructure.



  • All hands-on examples are structured so that you can practice based on the content described in each section, and you can learn about the process of managing a 3-tier web application consisting of Frontend + Backend + Database using Docker and Docker Compose technology, using a simple Toy project as an example.

  • The basic web application is configured using React.js for the frontend service, Spring Boot for the backend service, and Mariadb for the database. However, rather than running a practical example based on an understanding of programming, it explains the example so that you can practice it with the content required for Docker virtualization technology.

Features of this course

📌 You can learn theoretical explanations and practical exercises on various elements of Docker virtualization technology, from basic concepts to core technologies required for operation.

📌 Using a simple web application, you can understand the environment that needs to be set for each container, and learn about Docker Compose and Docker Orchestration technologies required to configure and operate multiple containers.

📌 Each section provides explanations of the theory and practical examples, allowing students to run various examples in their own Docker environments.

📌 In addition to the basic functions of Docker, it also introduces technologies that can replace Docker technology, and how Docker can be used for CI/CD deployment automation.

📌 This lecture is for those who are new to container virtualization technology or have a basic understanding of the Docker environment. You can learn about methods for operating multi-containers, security elements required to use Docker virtualization technology, multi-platform builds, logging message processing, and the role and position of Docker in Cloud Native Architecture.

💡 From Beginner to Master

  • This course is designed to help you understand the basics of container virtualization, while also learning the essential technologies needed to deploy and operate web applications in a virtualized form.

  • We are learning about everything from creating simple Docker images and containers, to using Docker Compose to manage multiple containers, Docker Orchestration to manage containers on multiple hosts, and how to integrate with CI/CD.

  • In addition, it introduces the security aspects of Docker Images, building Docker images on multiple platforms, managing logging messages of Docker containers, and managed container technology for using containers in cloud environments.

  • This course is designed to be a final Capstone Project for all the courses you have studied, and to allow you to indirectly experience and practice the environment you work in through linking with various services consisting of web applications and open source.

I recommend this to these people

I want to level up as a DevOps engineer.

Developers/students interested in deploying and operating applications in a DevOps environment

I'm interested in container virtualization technology.
For those who are curious about how to operate an application developed with Microservice Architecture

I'm curious about the process for CD in the CI/CD pipeline.
I'm curious about using Docker for continuous integration and continuous deployment for application deployment.

💡 Anyone interested in container virtualization technology as well as deployment and operation of Microservice applications!

  • If you are curious about what steps are involved in continuous deployment after the application development process to deploy it to the production environment.

  • Anyone interested in container virtualization technology and wanting to grow as a DevOps engineer

  • Anyone interested in Docker Orchestration tools for multi-container operation and container resource management

  • Anyone who wants to operate a service by utilizing the Rolling Update and Rollback functions of containers even without using a specialized orchestration tool such as Kubernetes

After class

  • Understand container virtualization technology and learn how to manage multiple containers for application deployment.

  • Learn how to run and manage multiple containers at once using Docker Compose technology.

  • Using Docker Swarm technology, you will learn how to use basic Docker Orchestration tools and learn about the Rollback function as well as Rolling Update for containers.

  • By performing a security vulnerability check on Docker Images, you can use more secure Docker Images.

  • You will be able to understand and use container virtualization technologies other than Docker.

  • You can build a continuous delivery system using Docker in a CI/CD automated deployment pipeline.

  • You will learn how to run web applications in a virtualized service environment provided by cloud services.

  • You will also gain an understanding of what technologies are used to deploy Docker container images to orchestration tools to operate container virtualization more efficiently.

💡 Please write about the changes you will experience by taking this course.

  • This lecture will help you understand container virtualization technology.

  • Developers and those interested in development can understand if their applications can be run and operated in a virtualized environment.

  • You can learn about technologies and processing methods for operating various multi-containers.

  • You can get hands-on experience on how to apply Docker virtualization technology in a CI/CD environment.

Learn about these things.

Basic concepts and core technologies of Docker virtualization

In this lecture, we will practice basic image creation, container usage, volume and network usage for Docker virtualization, as well as Docker Compose and Docker Swarm for multi-container management, and introduce Docker security and logging processing methods.

Using Docker Virtualization in a CI/CD Environment

The main purpose of using Docker virtualization is to solve the limitations of the physical system environment and to easily operate and manage various applications and middleware. You can learn how to use Docker container virtualization technology in conjunction with the CI/CD environment as a way to automatically deploy these services.

Various practical examples

After the theoretical explanation of this lecture, we provide examples that you can practice based on the contents explained in each section. By executing the provided practice code in your own environment, you can learn more easily about the operation process of Docker containers. In addition to the basic services of Docker, you can also practice alternative technologies for Docker such as Private Registry Harbor and Podman in the lecture.

Capstone project (final practical project)

After completing all the theoretical lectures and practical learning, you are ready to perform the Capstone project in the final section. The Capstone project is structured so that you can learn the entire process of linking web applications to be automatically deployed in a CI/CD environment, linking with the open source Docker Registry, and managing resources using an orchestration tool.

Who created this course

  • Current ) CEO of NJ One Company

  • Current ) Associate Professor, Department of Information Security, Graduate School of International Information, Dongguk University

  • Former ) JP Mogan Chase AMJ Tech consultant (Japan)

  • Former ) Chief Engineer, Samsung SDS CMS Business Division

Things to note before taking the class

Practice environment

  • The lecture is based on MacOS. If you have Docker Desktop installed in a Windows 10 or Windows 11 environment, you can follow most of the practical examples.

  • In this lecture, we will practice running various Docker container images. We recommend that you prepare at least 8GB of memory (16GB or more recommended) and 100GB or more of free storage space before practicing.

  • In this lecture, we will use Visual Studio Code to check and modify some of the scripts and codes used in the practice.

  • We provide images in the Dind (Docker in Docker) format to practice the Docker Swarm environment by configuring various multi-hosts.

    • Dind images are provided by education providers in MacOS Intel chip, MacOS Apple chip, Windows 10, Windows 11, and Ubuntu versions. However, errors may occur in running the Dind images depending on the environment used by the student.


  • To configure and run a VM environment rather than using the Dind image for the practical environment used in this lecture, you can refer to the separately provided Inflearn lecture for free.

Learning Materials

  • The practical example code used in the lecture is shared through Github.

Player Knowledge and Notes

  • Basic knowledge of IT services

  • Understanding terms such as Client, Server, and Cloud

  • Basic understanding of web services and web applications (what they mean and how they work)

  • Windows environment users) CMD commands (dir, curl, ping, ipconfig, etc.)

  • (MacOS environment users) Terminal commands (ls, curl, ping, ifconfig, etc.)

  • (Common) Since we will be using VIM, a document editing tool for the Linux environment, in class, it would be more efficient to learn the basics of how to use it.

💡 You must have the following programs installed to run the practical examples used in this lecture.

  1. Practice environment

    • Operating System and Version (OS): Windows 10, Windows 11 available, MacOS Intel chip, MacOS Apple chip available

    • Tools to use: Install Docker Desktop for each operating system (the installation process is practiced in the lecture)

    • Editor: Visual Studio Code

    • PC specifications: CPU Intel i5+, memory 8GB+ (16GB or more recommended), disk 100GB+ are the minimum specifications to run the program.

  2. Learning Materials

    • The learning materials provided will include hands-on examples and PDF lecture notes, which will be available via Github.

    • It consists of 11 sections in total.

  3. Player Knowledge and Notes

    • Learning Difficulty: Beginner level course with basic knowledge of IT services and basic command usage in command prompt or terminal.


    • Please use the Q&A board to post questions about the lecture.

    • Updates to lecture content and practical examples will be shared in future update-related posts.

    • The copyright of the practical examples and lecture content used in this lecture belongs to the lecture provider. You are free to share the content and practical examples used in the lecture through the Internet, but if possible, please share them in advance and then make them public.


Recommended for
these people

Who is this course right for?

  • People interested in container virtualization technology

  • People interested in Cloud Native technologies

  • Person responsible for deployment and operation of MSA applications

  • Anyone who wants to apply container virtualization technology to a CI/CD environment

Need to know before starting?

  • Understanding IT Services

  • Understanding Cloud Services

  • Windows environment users) CMD commands (dir, curl, ping, ipconfig, etc.)

  • (MacOS environment users) Terminal commands (ls, curl, ping, ifconfig, etc.)

Hello
This is

29,598

Learners

1,597

Reviews

1,366

Answers

4.8

Rating

8

Courses

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

Curriculum

All

113 lectures ∙ (20hr 31min)

Published: 
Last updated: 

Reviews

All

21 reviews

4.8

21 reviews

  • Sang Do Park님의 프로필 이미지
    Sang Do Park

    Reviews 17

    Average Rating 4.8

    5

    100% enrolled

    궁극적으로 개발자가 알아야 할 스펙트럼에서 많은 부분을 알 수 있게 되는 강의입니다. 코드를 작성하고 빌드하고 실행해보는 것을 넘어, 그 다음의 모든 과정을 다루는 듯 합니다. 최근 리눅스를 공부하고 관리를 위해 Gitlab 을 직접 설치해보고, CI/CD 를 구축하는 과정에서 자연스럽게 도커를 사용하는데 만나게 되는 문제들을 해결하기 위해 겪었던 일들이 이 강의에서 이미 놓치지 말기 바란다며 충분한 설명이 되어 있더군요. 도커 강의 많아도 실행해보고 끝나거나 CI/CD 강의 많아도 설치와 실행해보고 끝나는 경우도 많고, 흔히 깃허브 빌드/배포 실행으로 어찌 보면 유행하는 내용으로 책과 강의가 넘치는 요즈음... ... 근 한 달 여간 많은 시도와 학습과 시행착오와 고민을 겪으며 조직이 아닌 한 명의 개발자라도.. '시스템' 이 있어야 한다는 마음으로 자동화에 많은 시간을 들여 만드는 과정에 있는데... 이 강의가 그 과정에 너무나 큰 도움이 되었습니다. 최근 도메인 설정부터, Gitlab, Gitlab Runner, 프로메테우스, 그라파나 등을 설치하고 설정하는 과정에서 강의 중에 언급된 SSL 통신을 위한 인증서 설치와 경로 지정, 인증서 확인과 발급, 갱신이 곳곳에 해야 되더군요... 그런데 이것이 도메인 인증서는 3개월, SSL 인증서는 최대 1년이라는데, 당장 사용하는데는 문제가 없을 정도지만, 이후에는 만료가 되어 문제가 생기거나 실제 운영중이라면 중단 사고가 발생하거나, 키를 분실하여 새로 설정해야 되는 경우가 생길 것 같습니다. 인증서에 관하여 추가로 학습하고 배워야 하는 건 제 몫이고, 가능하다면 자동 갱신을 위한 쉘 프로그램을 크론으로 등록해볼까 하는 생각을 합니다~~ 만 ~ 혹시 보강으로 인증서 갱신과 자동화에 대한 강의가 있다면 좋겠습니다. ^^ ㅎㅎ 은행 공인인증서보다 더 불안하네요.. 혼자 무엇을 공부해야 하는지 모르는 상태에서 여기까지 와야 했다면 수 개월은 걸렸을텐데, 훌륭한 강의 덕분에 몇 일만에 끝낼 수 있을 거 같다는 자신감이 생겼습니다. 남은 주말은 실제 서버에 적용해보는 실습을 하고자 합니다. 개발자라면 꼭 알아야 할 개발 그 이후의 이야기... 여러분 여기가 명강의 입니다.~~~~ 감사합니다. ^^

    • 소라연님의 프로필 이미지
      소라연

      Reviews 81

      Average Rating 5.0

      5

      30% enrolled

      선생님의 강의는 언제나 옳습니다.

      • 고은혜님의 프로필 이미지
        고은혜

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        • 엄상인님의 프로필 이미지
          엄상인

          Reviews 2

          Average Rating 5.0

          5

          30% enrolled

          • 백수취준생님의 프로필 이미지
            백수취준생

            Reviews 36

            Average Rating 4.8

            5

            100% enrolled

            Limited time deal

            $66,000.00

            25%

            $68.20

            Dowon Lee's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!