Docker μμ! (κ°λ¨ν λ컀 μ€λͺ λ° μ€μΉ)
π λ컀(Docker)λ?
λ컀λ 리λ μ€ μ»¨ν μ΄λμ μ¬λ¬ κΈ°λ₯μ μΆκ°ν¨μΌλ‘μ¨ μ ν리μΌμ΄μ μ 컨ν μ΄λλ‘μ μ’ λ μ½κ² μ¬μ©ν μ μκ² λ§λ€μ΄μ§ μ€ν μμ€ νλ‘μ νΈμ΄λ€.
GoμΈμ΄λ‘ μμ±λμ΄ μμΌλ©° κΈ°μ‘΄μ μ°μ΄λ κ°μν λ°©λ²μΈ κ°μ λ¨Έμ κ³Όλ λ¬λ¦¬ λ컀 컨ν μ΄λλ μ±λ₯μ μμ€μ΄ κ±°μ μμ΄μ μ°¨μΈλ ν΄λΌμ°λ μΈνλΌ μ루μ μΌλ‘μ λ§μ κ°λ°μλ€μκ² μ£Όλͺ©λ°κ³ μλ€.
1.1 κ°μ λ¨Έμ κ³Ό λ컀 컨ν μ΄λ
κΈ°μ‘΄μ κ°μν κΈ°μ μ μ¬λ¬κ°μ μ΄μ체μ λ₯Ό νλμ νΈμ€νΈμμ μμ±ν΄ μ¬μ©νλ λ°©μμ΄μλ€.
μμ±λ κ° κ²μ€νΈ μ΄μ체μ λ μμ ν λ 립λ 곡κ°κ³Ό μμ€ν μμμ ν λΉλ°μ μ¬μ©νκ²λλ€.
λνμ μΈ ν΄λ‘λ VirtualBox, VMware ...λ±μ΄ μλ€.
νμ§λ§ λ 립λ 곡κ°μ μμ±νλ μμ μ λ°λμ νμ΄νΌλ°μ΄μ λ₯Ό κ±°μ³μΌ νκΈ°λλ¬Έμ μΌλ° νΈμ€νΈμ λΉν΄ μ±λ₯μ μμ€μ΄ λ°μνκ² λλ€. λν κ°μ λ¨Έμ μ λ°°ν¬νκΈ°μν μ΄λ―Έμ§λ₯Ό μμ±ν λ μ΄λ―Έμ§μ ν¬κΈ°λν λ§€μ° μ»€μ Έ μ ν리μΌμ΄μ μΌλ‘ λ°°ν¬νκΈ°μλ λΆλ΄μ€λ½λ€λ λ¨μ μ΄ μλ€.
μ΄μ λΉν΄ λ컀(Docker) 컨ν μ΄λλκ°μν 곡κ°μ μμ±ν λ νλ‘μΈμ€ λ¨μμ 격리 νκ²½μ λ§λ€κΈ° λλ¬Έμ μ±λ₯μμ€μ΄ κ±°μ μλ€. μ΄λ―Έμ§λν μ ν리μΌμ΄μ μ ꡬλμν€λλ° νμν λΌμ΄λΈλ¬λ¦¬ λ° μ€ν νμΌλ§ μ‘΄μ¬νκΈ°μ ν¬κΈ°λν μ€μ΄λ λ€.
λ°λΌμ 컨ν μ΄λλ₯Ό μ΄λ―Έμ§λ‘ λ§λ€μ΄ λ°°ν¬νλ μκ°μ΄ κ°μλ¨Έμ μ λΉν΄ λΉ λ₯΄κ³ μ±λ₯μμ€λ κ±°μ μλ€λ μ₯μ μ΄ μλ€.
1.2 λ컀 μμ§ μ€μΉ
λ컀λ 리λ μ€ μ»¨ν μ΄λλ₯Ό μ μ΄νλ APIλ₯Ό GoμΈμ΄λ‘ ꡬνν libcontainerλ₯Ό μ¬μ©νκΈ° λλ¬Έμ λλΆλΆμ 리λ μ€ μ΄μ체μ μμ μ¬μ©ν μ μλ€. 리λ μ€ λΏλ§ μλλΌ κ·Έ μΈμ μ΄μ체μ (Window, Mac λ±)μμλ μ¬μ©κ°λ₯νλ€.
λ컀μ κΈ°λ₯μ μμ νκ² μ¬μ©νλ €λ©΄ 리λ μ€μμ μ¬μ©νλ κ²μ΄ κ°μ₯ λ°λμ§νλ€κ³ λ νμ§λ§..
(λλ.. μλμ°λ₯Ό μ¬μ©νλ.. κ°λ¨νκ² μλμ°μμμ μ€μΉλ§ μ΄ν΄λ³΄λλ‘ νκ² λ€.)
(μλμ°μμλ λ컀 ν΄λ°μ€μ μ체 κ°μν λ컀λ₯Ό λ λ€ μ€μΉνλ©΄ μ€λ₯κ° λ°μνμ¬μ λ μ€ νλλ§ μ€μΉνλ κ²μ΄ μ’λ€κ³ νλλ°.. μΌλ¨ ν΄λ³΄μ..)
Docker Desktop for Windowsλ₯Ό λλ₯΄κ³ λ€μ΄μμ!! μΌλ§ μκ±Έλ €μ λ€μ΄μ΄ λ€λλ€..
μ± μμ λ³Έλλ‘ Docker for Windowsλ Hyper-vλ₯Ό μ΄μ©ν΄ κ°μν νκ²½μ μ 곡νκΈ° λλ¬Έμ λ컀 ν΄λ°μ€μ νΈνλμ§ μκ³ λ²μΆμΌ λ°μ€μλ νΈνλμ§ μλλ€κ³ νλ€.. κΈ°μ‘΄μ μ°λκ² μλ€λ©΄.. λ°±μ ν΄λκ³ νλ©΄λμ§λ§ λλ μμΌλκΉ.. μΌλ¨ OK!!
π Stableκ³Ό Edgeμ€μ μ νν΄μ λ€μ΄ λ°μ μ μλλ° Stableμ μ¬λ¬μ°¨λ‘ κ²μ¦μ κ±°μ³ μμ μ μΌλ‘ μ¬μ©ν μ μλ λ²μ Όμ΄κ³ Edgeλ μ΅μ λ¦΄λ¦¬μ€ λ΄μ© λ° μ€νμ μΈ κΈ°λ₯μ ν¬ν¨ν λ²μ μ΄λ€. μ°μ .. μμ μ μΈ Stableμ λ°λκ² μ’μ κ² κ°λ€!!
μ€μΉκ° μλ£λκ³ Hyper-VκΈ°λ₯μ νμ±ννκΈ°μν΄ PCλ₯Ό μ¬μμν΄μΌνλ€.
κ·Έλ κ² μ¬μμνκ³ λλ©΄ νΈλ μ΄ μμ΄μ½μμ λμ»€κ° μλμ€μΈμ§λ₯Ό νμΈν μ μλ€.
μ€μΉκ° μλ£λλ©΄ λͺ λ Ή ν둬ννΈλ νμμ λ±μ μ °μ μ€νν΄ λ컀λ₯Ό μ¬μ©ν μ μλ€.
π Docker Toolbox μ Docker for Windows/Macμ μ°¨μ΄μ
Docker Toolboxλ 리λ μ€ κ°μλ¨Έμ μ μμ±ν΄ κ·Έ λ΄λΆμ λ컀λ₯Ό μ€μΉνμ§λ§ νμλ νΈμ€νΈ μ체μ κ°μν κΈ°μ μ μ μ©νλ€. μ΄λ λ컀 컨ν μ΄λλ₯Ό μμ±ν λ€ μΈλΆμμ μ κ·Όνλ λ°©λ²μ μ°¨μ΄κ° μλ€. λ컀 ν΄λ°μ€λ κ°μλ¨Έμ μ μμ±ν λ€ λ컀λ₯Ό μμ±νκΈ°μ 2μ€ ν¬νΈ ν¬μλ©μ΄ νμνμ§λ§ νμλ 1λ²μ ν¬νΈν¬μλ©μΌλ‘ 컨ν μ΄λμ μ κ·Όν μ μλ€.
μ€λλ§μ λ컀λ₯Ό λ€μ 곡λΆνλλ°.. νκ΅μμ λ°°μΈλ보λ€.. μ± μ νλνλ보면μ.. μ 리ν΄λκ°λ μλ‘κ³ μ¬λ°λ μμμ΄ λ κ² κ°λ€ λκΉμ§ μ± μ μμ£Όνκ³ λ컀λ₯Ό (λ§μ€ν°....γ γ ) μ μ¬μ©ν΄λ³΄μ!!