λ€μν μ’ λ₯μ μ ν리μΌμ΄μ μ μ μνκ² κ΅¬μΆ, ν μ€νΈ λ° λ°°ν¬ν μ μλ μννΈμ¨μ΄ νλ«νΌ
νλμ¨μ΄μ μμμ λͺ¨λ κ°μν νμ§ μκ³ νλ‘μΈμ€λ€λ§μ 격리μμΌ λΉ λ₯΄κ² νκ²½μ κ΅¬μΆ κ°λ₯
β μ€ν νκ²½μ ꡬμ λ°μ§ μκ³ μ ν리μΌμ΄μ
μ μ€ν κ°λ₯
μμ‘΄μ± μΆ©λ λ¬Έμ ν΄κ²°
β 컨ν
μ΄λμμ μ€ν μ€μΈ μ ν리μΌμ΄μ
μ κ°μ κ³ μ μ μμ‘΄μ± κ°μ§
κ°λ°κ³Ό λ°°ν¬ νκ²½μ μΌμΉμν΄
μν νμ₯μ μ½κ² ν΄μ€
κ° μλ²μ μλ‘μ΄ λ΄μ©μ λ°°ν¬νκΈ° μ½κ² λ§λ€μ΄μ€
π‘ A νλ‘κ·Έλ¨μ μ€νν΄μΌν λ B νλ‘κ·Έλ¨μ΄ λ°λμ νμν κ²½μ°,
νλ‘κ·Έλ¨ Aλ νλ‘κ·Έλ¨ Bμ μμ‘΄ κ΄κ³λ₯Ό κ°μ§κ³ μλ€. λΌκ³ λ§ ν μ μλ€.
Ex. μλμ°μ© νλ‘κ·Έλ¨μ μ€ννλ €λ©΄ μλμ° μ΄μ체μ κ° νμνλ―
β
But, A1 / A2 νλ‘κ·Έλ¨μ΄ μλ€κ³ ν λ,
A1 / A1 λͺ¨λ Bμ λν΄ μμ‘΄ κ΄κ³λ₯Ό κ°μ§κ³ μλλ° κ°κ° νμν Bμ λ²μ μ΄ λ€λ₯Ό κ²½μ°
μ΄ Bλ μ»΄ν¨ν°μ νλλ§ κΉλ¦¬κΈ° λλ¬Έμ A1 / A2 λ μ€ νλλ μ λλ‘λ μ€ν 보μ₯ X
( μμ‘΄μ±μ΄ μΆ©λνλ€κ³ ν¨ )
β
β 컨ν μ΄λλ₯Ό μ΄μ©νλ©΄ μ€ν νκ²½μ΄ κ²©λ¦¬λκΈ° λλ¬Έμ
A1 / A2λ₯Ό κ°κ°μ μ€ν νκ²½μμ λ 립μ μΌλ‘ μ€νμμΌ κ°κ° νμν B λ²μ μ λ¬λ¦¬ λ°μ μ μμ
ν λμ μ»΄ν¨ν°μ μ¬λ¬ λμ 컨ν
μ΄λκ° μ‘΄μ¬νκ³ ,
μ΄ μ»¨ν
μ΄λλ€λ‘ κ°κ°μ 격리λ μ ν리μΌμ΄μ
μ€νμ΄ κ°λ₯
( κ°μ λ¨Έμ κ³Ό λΉμ·ν μμ€μ κ²©λ¦¬μ± μ 곡 )
OSμ μκ΄μμ΄ μ¦μ μ ν리μΌμ΄μ μ€ν νκ²½ λ§λ€κΈ° κ°λ₯
κ°λ°μ 컨ν
μ΄λ μμμ μ§νν κ²½μ°, λͺ¨λ κ°λ°νμ΄ λμΌν μ€ν νκ²½μΌλ‘ κ°λ° κ°λ₯
β λ컀 μ체λ₯Ό μ΄λ―Έμ§ν ν΄μ νκ·ΈκΉμ§ λΆμ¬μ λ μ§μ€νΈλ¦¬μ μ¬λ € λκ³ κ·Έκ±Έ pull ν΄μ μλ‘μ΄ μλ²μ ν΄λΉ μ ν리μΌμ΄μ
μ 컨ν
μ΄λλ‘ μ€ννκ³ , λ‘λ λ°Έλ°μμ μ΄ μλ²λ₯Ό μΆκ°νκΈ°λ§ νλ©΄ λ¨
(AWSκ° μλ² μμ±/μμ λ μλμΌλ‘ ν΄μ€ )
Ex. κ°λ° μμ μλ‘μ νλ‘κ·Έλ¨ λ²μ μ΄λ νκ²½μ λΉμ·νκ² λ§μΆκΈ° μν΄
Dockerλ₯Ό μ¬μ©νμ¬ λͺ λ Ήμ΄λ‘ μ¦μ μ€μΉ λ° μ€ν κ°λ₯
β
Ex. λ°°ν¬ μμλ EC2 μμ λ컀λ₯Ό μ€μΉνκ³ ,
λ컀 컨ν μ΄λλ₯Ό EC2 μλ²μμ μ€νν μ μκ² νλ μλΉμ€μΈ ECSλ₯Ό μ΄μ©νμ¬ ν¨μ¬ μ½κ² μ ν리μΌμ΄μ λ°°ν¬ κ°λ₯
β
Ex. μ΄λ₯Ό μμ©νμ¬, μλ‘μ΄ λ²μ μ μ ν리μΌμ΄μ μ μ¬λ¬ μλ² μ€ λͺ λμλ§ μ΄μνμ¬ ν μ€νΈνλ λ°©λ²λ κ°λ₯
β 미리 λ°μν μ μλ λ¬Έμ νμΈνμ¬ λ³΄μ κ°λ₯
Docker Compose ν΄λ‘ μ ν리μΌμ΄μ
κ΅¬μ± μμ²΄κ° μ»¨ν
μ΄λνλλ©΄,
YAML νμΌ νλ + λͺ
λ Ήμ΄ νλλ‘ λͺ¨λ μ ν리μΌμ΄μ
μ€ν νκ²½ ꡬμ±μ΄ μλ£λ¨
CPU
β 곡μ
λ©λͺ¨λ¦¬
β 곡μ
리λ
μ€ μ»€λ
β 곡μ
β λ€νΈμν¬
β 격리**
β νλ‘μΈμ€
β 격리
νΉμ 컨ν μ΄λμμ μλνλ νλ‘μΈμ€λ κΈ°λ³Έμ μΌλ‘ κ·Έ 컨ν μ΄λ μμμλ§ μ‘μΈμ€ κ°λ₯
컨ν μ΄λ μμμ μ€νλλ νλ‘μΈμ€λ λ€λ₯Έ 컨ν μ΄λμ νλ‘μΈμ€μκ² μν₯ X
β νμΌ μμ€ν
β 격리
βοΈ κ°μ λ¨Έμ (Virtual Machine / VM)
- νλμ νΈμ€νΈ μ»΄ν¨ν° μμ μ¬λ¬ κ°μ λ 립μ μΈ μ»΄ν¨ν°κ° μλν μ μκ² νλ κΈ°μ
Ex. VMware, VirtualBox, Parallels λ±
( μ΄κ±Έ ν΅ν΄μ ν μ»΄ν¨ν° μμ μ¬λ¬ μ΄μ체μ λ₯Ό λμΈ μ μμ )
β - λ컀λ₯Ό λΉλ‘―ν 리λ μ€ μ»¨ν μ΄λ κΈ°μ κ³Όλ μ‘°κΈ λ€λ¦
βοΈ κ°μν
- λ΄ μ»΄ν¨ν° μμ λ Όλ¦¬μ μΈ λ λ€λ₯Έ μ»΄ν¨ν°λ€μ μ¬λ¦¬λ κ²
- νΈμ€νΈ νΌμ¨μ νλμ¨μ΄μ μΈ μ€νμ λμ§ λͺ»ν¨
Ex. μ μ₯ κ³΅κ° / cpu μ±λ₯
( β¬οΈ μΌμͺ½μ΄ VM / μ€λ₯Έμͺ½μ΄ Docker )
βοΈ VM (Virture Machine)
βοΈ Docker
π‘ 컀λ (Kernerl)
- μμ€ν μ½κ³Ό κ°μ΄ OSμ ν΅μ¬ κΈ°λ₯μ ꡬνν νλ‘κ·Έλ¨)
π‘ νμ΄νΌλ°μ΄μ (Hypervisor)
- VMμ μμ±νκ³ κ΅¬λνλ μννΈμ¨μ΄
Ex. VMware, VirtualBox
μ ν리μΌμ΄μ
λ° μ ν리μΌμ΄μ
ꡬμ±μ ν¨κ» λ΄μλμ ν
νλ¦Ώ
( λ컀λ₯Ό μ΄λ―Έμ§ν μν¨ κ² )
λ컀 μ΄λ―Έμ§λ (μ΄μ체μ μ΄λ―Έμ§λ μ‘΄μ¬νμ§λ§) λ³΄ν΅ μ ν리μΌμ΄μ λ¨μλ‘ λ§λ€μ΄μ Έ μμ
μ΄λ―Έμ§λ₯Ό μ΄μ©ν΄ μ¦μ μ¬λ¬κ°μ 컨ν μ΄λ μμ± κ°λ₯
μ΄λ―Έμ§ νλλ₯Ό λ°νμΌλ‘ μ€νλλ λͺ¨λ 컨ν
μ΄λλ€μ΄ μμ±λ¨
β μ΄λ―Έμ§ μ¬λ¬κ°λ₯Ό νλμ 컨ν
μ΄λμμ μ€ννλ κ²λ κ°λ₯
μ ν리μΌμ΄μ μ μν νμ₯ κ°λ₯
κΈ°λ³Έ μ΄λ―Έμ§(base image)μ λ³κ²½ μ¬νμ μΆκ°/컀λ°ν΄μ λ λ€λ₯Έ μ΄λ―Έμ§λ₯Ό λ§λ€κΈ° κ°λ₯
Ex. μ€νλ§λΆνΈ κΈ°λ°μ μ ν리μΌμ΄μ μ μ΄λ―Έμ§λ‘ λ§λ€κ³ μΆμ κ²½μ°,
μ€νλ§λΆνΈ μ΄κΈ° μΈν μ΄λ―Έμ§λ₯Ό κΈ°λ³Έ μ΄λ―Έμ§λ‘ μΌκ³ λ΄κ° λ§λ μ ν리μΌμ΄μ μ μΆκ°ν΄ λ£κ³ , μ΄λ―Έμ§νν μ μμ
μ΄λ―Έμ§λ₯Ό μ μ₯νκ³ μ΄λ₯Ό κ΄λ¦¬νλ κ³³
Ex. Docker Hub, Amazon ECR
νΉλ³ν λ€λ₯Έ κ²μ μ§μ νμ§ μλλ€λ©΄, λ컀 νλΈ(Docker Hub)λ₯Ό κΈ°λ³Έ λ μ§μ€νΈλ¦¬λ‘ μ€μ
Docker Hub
Docker Hub, Private Docker Hub, νμ¬ λ΄λΆμ© λ μ§μ€νΈλ¦¬ λ±μΌλ‘ λλ μ μμ
λ μ§μ€νΈλ¦¬ λ΄μ λ컀 μ΄λ―Έμ§κ° μ μ₯λλ 곡κ°
( GitHubμ λ ν¬μ§ν 리μ μ μ¬νκ² μκ°νλ©΄ λ¨ )
μ΄λ―Έμ§ μ΄λ¦μ΄ μ¬μ©λκΈ°λ ν¨
ν΄λΉ μ΄λ―Έμ§λ₯Ό μ€λͺ
νλ λ²μ μ 보λ₯Ό μ£Όλ‘ μ
λ ₯
( κ°μ μ΄λ―Έμ§μ¬λ λ²μ λ³λ‘ μμ λ΄μ© μ’ λ€λ₯Ό μ μμ )
νΉλ³ν λ€λ₯Έ κ²μ μ§μ νμ§ μλλ€λ©΄, latest
νκ·Έλ₯Ό λΆμΈ μ΄λ―Έμ§λ₯Ό κ°μ Έμ΄
Ex.
docker/whalesay:latest
β Docker HubλΌλ λ μ§μ€νΈλ¦¬μμ
βdocker
λΌλ μ μ κ° λ±λ‘νwhalesay
μ΄λ―Έμ§ or λ ν¬μ§ν 리μμ
βlatest
νκ·Έλ₯Ό κ°μ§ μ΄λ―Έμ§
β
docker/whalesay μ΄λ―Έμ§ μ°Έκ³
μ μ₯ 곡κ°μ λ€λ₯Έ μ₯μΉμμ μ κ·Όν μ μλλ‘ κ²½λ‘λ₯Ό νμ©ν΄μ,
λ§μΉ νλμ μ μ₯ 곡κ°μ μ΄μ©νλ κ²μ²λΌ 보μ΄κ² νλ μμ
λ³Όλ₯¨μ μ»΄ν¨ν°κ° μ¬μ©ν μ μλλ‘ μ μ©νλ κ³Όμ
π‘ λ³Όλ₯¨(Volume)μ λ§μ΄νΈ(Mount)νλ€.
β λ컀μμ μμ ν λ΄μ©μ λ‘컬μλ κ°μ΄ μ μ₯νλ€λ μλ―Έ
( μ μ΄ν΄λμ€ Section4 - [Cloud] λ°°ν¬ μ»¨ν μ΄λ - μ€μ΅ λΆλΆ μ°Έκ³ )
π‘ μ°Έκ³ λ‘
8080:80
μ΄λ κ² μ°μ¬μλ ν¬νΈμ μλ―Έλ
β λ°μμ λ€μ΄κ° λλ 8080ν¬νΈλ‘ λ€μ΄κ°μ, μμμ λμ¬ λλ 80 ν¬νΈμμ λμ¨λ€.
μ€λμ κ°λ
μ κ½€ μ΄ν΄νκΈ° μ¬μ λλ° μ€μ΅μ κ²μ ν°λ―Έλ νλ©΄μΌλ‘ μ§ννλ€λ³΄λ
μλλ³΄λ€ λ μ΄λ ΅κ² λκ»΄μ§λ.. κ·Έλ° λλμ΄μλ€ !!
κ·Έλλ νμ΄λμ΄ λ§μ΄ μλ €μ£Όμ
μ μ€μ΅μ μλ¬λ λ§μ΄ μλ§λκ³ μμνκ² μ λλ¬κ³
μκ°λ λ§μ΄ λ¨μμ λ€λ₯Έ κ±° ν μ μμλ€ γ
γ
π
μ€κ° μ€κ° λ―Έλ κ²μλ ν μ μμμ΄μ λ μ¬λ―Έμμλ μ€μ΅ !!
( νμ§λ§ νΌμ νλΌλ©΄ ν μ μμκΉ ..? νλ μ€μ΅ .. γ
)