Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[마이크로서비스프로그래밍] Lecture05 - Docker Introduction 본문

3학년 2학기 전공/마이크로서비스프로그래밍

[마이크로서비스프로그래밍] Lecture05 - Docker Introduction

시데브 2024. 9. 17. 16:16
경희대학교 이성원 교수님의 마이크로서비스 프로그래밍 수업을 기반으로 정리한 글입니다.

 

Learning Objective 

  • Docker introduction
  • "Hello Docker"
  • Trouble shooting of Docker life

 

Docker

1. What is Docker?

  • Open Platform for developing, shipping, running applications -> 거의 대부분의 platform 위에서 동작 가능 & open source -> docker 위에서 실행가능하다면, platform independent하게 program을 다룰 수 있음
  • 사용자의 infrastructure로부터 사용자의 applications를 분리
    • software를 빠르게 deliver
  • application이 동작할 때 필요한 insfrastructure를 프로그래밍하듯이 code로 관리 -> Infrastructure as Code

 

2. Why use Docker?

-> 항상 ubuntu:latest 위에 python3를 올린 형태를 구축할 수 있다는 믿음

-> Immutable Infrastructure 

 

  • Flexible: 복잡한 applications도 containerized될 수 있음 -> 돌아가는 환경을 고려하지 않고, program을 짤 수 있음
  • Lightweight: guest OS가 올라가지 않고, host OS만 존재하기 때문에 lightweight함
  • Interchangeable: software의 update, upgrade, version up/down이 자유로움 

 

3. Docker Image

  • application 실행을 위해 필요한 모든 것을 포함한 실행가능한 package
    • code
    • a runtime libraries
    • environment variables
    • configuration files
    • etc. ...

 

4. Docker Container

  • image의 runtime instance
  • image 실행 -> memory 위에서 container가 됨 (multiple containers가 같은 image로부터 발생)
  • docker ps -> running containers 확인 가능

 

 

5. Sharing Immutable Infrastructures

  • Docker Registry: 도커 이미지를 관리하는 일종의 저장소
  • ex) dockerhub
  • 보안, CI/CD 등의 이유로 application 배포를 한 번에 수행하는 파이프라인을 제공하는 registry를 사용

 

Docker 실습

1. Birds-Eye-View of Docker

 


참고자료

 

[Docker / Kubernetes] 6-1. 도커 레지스트리

도커 이미지를 저장하고 관리하는 도커 레지스트리에 대해 자세히 알아봅시다. 🤔

velog.io