01. What is Docker?
μ΄λ² μΉμ μμλ λ컀 ECS λ° EKS λ₯Ό νμ΅νλ€.
- μ± λ°°ν¬λ₯Ό μν μννΈμ¨μ΄ κ°λ° νλ«νΌμ΄λ€. (컨ν μ΄λ κΈ°μ )
- 컨ν μ΄λμ μ±μ΄ ν¨ν€μ§λλλ°, 컨ν μ΄λλ νμ€νλμ΄μμ΄ μ무 OS μμλ μ€νκ°λ₯
- μ±μ΄ 컨ν
μ΄λμ ν¨ν€μ§λλ©΄ μ΄λ OSμμλ κ°μ λ°©μμΌλ‘ μ€νλλ€.
- Any machine
- νΈνμ± λ¬Έμ κ° μλ€.
- νμ νΉμ±λ μμΈ‘κ°λ₯
- μμ μ λμ΄μ€λ€.
- μ μ§ λ° λ°°ν¬κ° μ½λ€.
- μΈμ΄, μ΄μ체μ , κΈ°μ μ μκ΄μμ΄ μ€νμ΄ κ°λ₯νλ€.
- μ¬μ© μ¬λ‘
- λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ³ MSA
- μ¨νλ λ―Έμ€μμ ν΄λΌμ°λλ‘ μ±μ Lift - And - Shift νκΈ°λ ν¨
- 컨ν μ΄λλ₯Ό μ€ννλ μ΄λ€ κ²½μ°μλ μ¬μ©κ°λ₯
02. Docker on an OS
λ컀λ μ΄μ체μ μμ μ΄λ»κ² μλνλμ§ μ΄ν΄λ³΄μ.
- μ°μ μλ²κ° μλ€. (ex. EC2)
- μ΄λ€ μ νμ μλ²λ λκ°λ€. (EC2 μμ)
- λ컀 μμ΄μ νΈλ₯Ό μ€ννλ©΄ λ컀 컨ν μ΄λλ₯Ό μμν μ μλ€.
- 1λ² μ§Έ λ컀 컨ν μ΄λλ Java Appμ ν¬ν¨
- 2λ² μ§Έ λ컀 컨ν μ΄λλ Node.js Appμ΄ μλ€.
- λ€μμ λ컀 컨ν μ΄λκ° λμμ μ€νλ μ μλ€.
- Java Appμ κ°μ§ μ¬λ¬ Docker Container κ° μμ μ μλ€.
- Node.jsλ₯Ό κ°μ§ μ¬λ¬ λ컀 컨ν μ΄λκ° μμμλ μλ€.
- λ컀 λ΄μμλ MySQL λ±μ DBλ μ€νκ°λ₯νλ, μμ£Ό λ€μ©λλ‘ νμ©λλ€.
- μλ² κ΄μ μμλ λͺ¨λ λ컀 컨ν μ΄λλ‘ λ³΄μΈλ€.
03. Where are Docker images stored?
λ컀 μ΄λ―Έμ§λ μ΄λμ μ μ₯λλμ§ μμ보μ
- λ컀 μ΄λ―Έμ§λ λ컀 λ ν¬μ§ν 리 λΌλ κ³³μ μ μ₯λλ€.
- μ¬λ¬ μ΅μ
μ΄ μλ€.
- Docker Hub
- μ λͺ ν νΌλΈλ¦ λ ν¬μ§ν 리
- λ§μ κΈ°μ μ λ§λ κΈ°λ³Έ μ΄λ―Έμ§λ₯Ό μ°Ύμ μ μλ€.
- Ubuntu or MySQL κ³Ό κ°μ OSμ© κΈ°λ³Έ μ΄λ―Έμ§λ λ§μ°¬κ°μ§
- Amazon ECR (Elastic Container Registry)
- νλΌμ΄λΉ λ ν¬μ§ν 리
- λΉκ³΅κ° μ΄λ―Έμ§λ₯Ό μ€ν ν μ μλ€.
- Amazon ECR Public Gallery λΌ λΆλ¦¬λ νΌλΈλ¦ λ ν¬μ§ν 리 μ΅μ λ μλ€.
- Docker Hub
04. Docker vs Virtual Machines
λ컀μ κ°μλ¨Έμ μ μ°¨μ΄
- λ컀 μμ κ°μν κΈ°μ μ μΌμ’ μ΄κΈ΄ νμ§λ§, μμ ν κ°μν κΈ°μ μ μλλ€.
- 리μμ€κ° νΈμ€νΈμ 곡μ λμ΄ ν μλ²μμ λ€μμ 컨ν μ΄λλ₯Ό 곡μ ν μ μλ€.
-
κ°μλ¨Έμ
-
κ°μ λ¨Έμ μ μν€ν μ²λ₯Ό μ΄ν΄λ³΄λ©΄ μΈνλΌμ νΈμ€νΈ μ΄μ체μ κ° μμΌλ©°, κ·Έ μμ νμ΄νΌλ°μ΄μ κ° μκ³ μ±κ³Ό Guest μ΄μ체μ κ° μλ€. EC2μ μ리μ΄λ€.
-
λ€μλ§ν΄, EC2 λ¨Έμ μ νμ΄νΌλ°μ΄μ μ μ€νλλ κ°μλ¨Έμ κ³Όλ κ°λ€.
-
κ·Έλμ Amazonμ΄ EC2 μΈμ€ν΄μ€λ₯Ό λ€μν μλΉμμκ² μ 곡ν μ μμΌλ©°, κ°μλ¨Έμ μ EC2 μΈμ€ν΄μ€λ κ°μ λΆλ¦¬λμ΄μλ€.
-
리μμ€λ₯Ό 곡μ νμ§ μλλ€.
-
-
λ컀
- λ컀 컨ν μ΄λμ κ²½μ° μΈνλΌμ EC2μΈμ€ν΄μ€ κ°μ νΈμ€νΈOSκ° μκ³ λ컀 Daemon μμ λ§μ 컨ν μ΄λκ° μλ€.
- λ컀 Daemonμμ κ°λ³κ² μ€νλλ 컨ν μ΄λλΌ κ³΅μ‘΄ν μ μκ² λλ€.
- λ€νΈμνΉμ΄λ λ°μ΄ν° λ±μ 곡μ ν μλ μλ€.
- μμ λ§ν΄, κ°μλ¨Έμ λ³΄λ€ λ μμ νμ§λ§, νλμ μλ²μ λ§μ 컨ν μ΄λλ₯Ό μ€νν μ μκΈ° λλ¬Έμ λ컀컨ν μ΄λλ₯Ό λ§μ΄ μ¬μ©νλ€.
05. Getting Started with Docker
λ컀λ₯Ό μμν΄λ³΄μ.
- λ컀λ₯Ό μμνλ €λ©΄ μ°μ Dockerfile μ μμ±ν΄μΌ νλ€.
- λ컀 컨ν μ΄λλ₯Ό ꡬμ±νλ νμΌμ΄λ€.
- λ² μ΄μ€ λ컀 μ΄λ―Έμ§μ λͺ κ°μ§ νμΌμ μΆκ°ν΄μ ꡬμΆνλ©΄ λ컀 μ΄λ―Έμ§κ° λλ€.
- λ컀 imageλ νΈμ(push)ν΄μ λ컀 λ ν¬μ§ν 리μ μ μ₯ν μ μλ€. (DockerHub, AmazonECR)
- λ컀 λ ν¬μ§ν 리μμ imageλ₯Ό pull λ°μμ 컨ν μ΄λν μν¨λ€.
06. Docker Containers Management on AWS
AWSμμ μ 곡νλ λ컀 컨ν μ΄λ μλΉμ€λ₯Ό μμ보μ.
- Amazon ECS
- λ컀 κ΄λ¦¬λ₯Ό μν Amazon μ μ© νλ«νΌ
- λ€μ ν¬μ€ν μ μμΈν μμ보λλ‘ νλ€.
- Amazon EKS
- μΏ λ²λ€ν°μ€ μλΉμ€.
- μΏ λ²λ€ν°μ€μ κ΄λ¦¬ν λ²μ μΌλ‘ μ€νμμ€ νλ‘μ νΈμ λλ€.
- μΆν κ°λ¨ν μ΄ν΄λ³Ό μμ
- AWS Fargate
- Amazonμ Serverless 컨ν μ΄λ νλ«νΌ
- ECS μ EKS λλ€ ν¨κ» μλν μ μλ€.
- μΆν μμΈν ν¬μ€ν μμ
- Amazon ECR
- λ컀 컨ν μ΄λ μ΄λ―Έμ§λ₯Ό μ μ₯νλλ° μ¬μ©
λκΈλ¨κΈ°κΈ°