λμ»€κ° λμ€κΈ° μ΄μ μ λλΆλΆμ μλΉμ€ νκ²½μ 물리μ μΈ μλ²λ₯Ό μ§μ μ΄μνλ λ°©μ μ΄μμΌλ©°,
μλ² κ΅¬μ
κ³Ό μ΄μκΉμ§ λ§μ λΉμ© λ° μκ°μ΄ μλͺ¨ λμλ€. μ΄λ¬ν λ¬Έμ μ μ μΆνμ κ°μνκ° λ°μ νλ©΄μ ν΄λΌμ°λ νκ²½μ΄ λ±μ₯νμ¬ μΌμ λΆλΆ ν΄μκ° λμλ€.
κ°λ° νλ‘κ·Έλ¨μ λ°μ μΌλ‘ κ°λ°μ£ΌκΈ°κ° 짧μμ§λ©΄μ λ°°ν¬λ λ μμ£Ό μ΄λ€μ§κ³ κ΄λ¦¬λ λμ± λ³΅μ‘ν΄μ‘λ€. μλ‘μ΄ λ£°κ³Ό ν΄λΌμ°λμ λ°μ μΌλ‘ μ€μΉν΄μΌ ν μλ²κ° μ μ λμ΄λ¨μ λ°λΌ μ΄λ¬ν νκ³λ₯Ό ν΄κ²°νκΈ° μν΄ λμ»€κ° λ±μ₯νλ€.
λ컀(Docker)λ 2013λ
3μ 13μΌ λ°νλ, 리λ
μ€μ μμ© νλ‘κ·Έλ¨λ€μ μννΈμ¨μ΄ 컨ν
μ΄λ μμ λ°°μΉμν€λ μΌμ
μλν νλ μ€νμμ€ κ°μν νλ«νΌμ΄λ€. 컨ν
μ΄λλ 격리λ 곡κ°μμ νλ‘μΈμ€κ° λμνλ κΈ°μ μ λ§νλ€.
μ΄ κΈ°μ μ κΈ°μ‘΄μ κ°μν λ°©μλ€κ³Ό μ°¨μ΄κ° μλ€.
VirtualBox, VMwareμ κ°μ κΈ°μ‘΄μ κ°μλ¨Έμ μ νμ΄νΌλ°μ΄μ (Hypervisor)λ₯Ό μ΄μ©ν΄ νΈμ€νΈ OSμμ κ²μ€νΈ OSλ₯Ό κ°μν νμ¬ μ¬μ©νλ λ°©μμ΄λ€. μ΄ λ°©μμ λΉκ΅μ μ¬μ©λ²μ΄ κ°λ¨νμ§λ§, μλκ° λλ¦¬κ³ λ¬΄κ²λ€λ λ¨μ μ΄ μλ€.
μ΄λ¬ν λ¨μ μ κ°μ νκ³ μ νλ‘μΈμ€λ₯Ό 격리μν€λ λ°©μμ΄ λ±μ₯νλ€.
리λ
μ€μμλ μ΄ λ°©μμ 리λ
μ€ μ»¨ν
μ΄λλΌκ³ νλ©°, λ¨μν νλ‘μΈμ€λ₯Ό 격리μν€κΈ° λλ¬Έμ κ°λ³κ³ λΉ λ₯΄κ² λμνλ€.
λ CPUλ λ©λͺ¨λ¦¬λ νλ‘μΈμ€κ° νμν λ§νΌλ§ μμμ μ¬μ©νλ―λ‘ μ±λ₯λ μμ€μ΄ κ±°μ μλ€.
λ컀μμ κ°μ₯ μ€μνκ² λ€λ£¨λ κ°λ
μ μ΄λ―Έμ§μ 컨ν
μ΄λλ€.
μ΄λ―Έμ§λ 컨ν
μ΄λ μ€νμ νμν νμΌκ³Ό μ€μ κ° λ±μ ν¬ν¨νκ³ μμΌλ©° μν κ°μ κ°μ§μ§ μκ³ λ³νμ§ μλλ€.
μ¦ μ»¨ν
μ΄λλ μ΄λ―Έμ§λ₯Ό μ€νν μνλΌκ³ λ³Ό μ μμΌλ©° μΆκ°λκ±°λ λ³νλ κ° μ 보λ 컨ν
μ΄λμ μ μ₯λλ€.
κ°μ μ΄λ―Έμ§μμ μ¬λ¬ κ°μ 컨ν
μ΄λλ₯Ό μμ±νλ κ²μ΄ κ°λ₯νλ©°, 컨ν
μ΄λκ° μμ νΉμ λ³κ²½ λλ€ νλλΌλ μ΄λ―Έμ§λ λ³νμ§ μκ³ κ·Έλλ‘ λ¨μμλ€. λ§μ½ μλ‘μ΄ μλ²λ₯Ό μΆκ°νλ €λ©΄ 미리 λ§λ€μ΄ λμ μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λ νμ¬ μ»¨ν
μ΄λλ₯Ό μμ±λ§ νλ©΄ κ°νΈνκ² μ¬μ©ν μ μλ€.
λ컀 ꡬ쑰μμλ νμΌ μμ€ν
κ°κ°μ΄ μ΄λ―Έμ§μ΄λ€. μ΄λ―Έμ§λ νμΌμμ€ν
λ€μ λ μ΄μ΄λ‘ λ§λ€μ΄μ Έ μλ€.
λ컀 μ΄λ―Έμ§λ 컨ν
μ΄λλ₯Ό μ€ννκΈ° μν μ 보λ₯Ό λͺ¨λ κ°μ§κ³ μκΈ° λλ¬Έμ μ©λμ΄ ν¬λ€.
μ²μ μ΄λ―Έμ§λ₯Ό λ€μ΄ λ°μ λλ ν¬κ² λΆλ΄μ΄ μλμ§λ§ νμΌμ΄ κ³μν΄μ μΆκ°λλ€λ©΄ λ§€μ° λΉν¨μ¨μ μΌ μλ°μ μλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ μ΄μ΄λΌλ κ°λ
μ΄ μ¬μ©λμλ€.
λ컀λ μ΄λ―Έμ§λ€μ μλ‘ μμ λ μ΄μ΄ μν€λ κ΅¬μ‘°λ‘ λμ΄μλ€. λ² μ΄μ€κ° λλ μ΄λ―Έμ§λ₯Ό λΆλͺ¨ μ΄λ―Έμ§λΌ νλ©° 맨 μμ μ΄λ―Έμ§λΆν° κ°μ₯ λ μ΄λ―Έμ§κΉμ§ ν‘λ¨νλ κ΅¬μ‘°λ‘ μ΄λ£¨μ΄ μ§λ€. λͺ¨λ read-only νμΌμμ€ν
λ€μ΄ mountκ° λκ³ λ컀 컨ν
μ΄λκ° μ΄λ―Έμ§λ‘λΆν° μμλ λ λ컀λ λ§μ§λ§μΌλ‘ read-write νμΌ μμ€ν
μ νμΌ μμ€ν
layer 맨 μμ mountνλ€.
read-writeμΌλ‘ μ¬λ €λλ μ΄μ λ read-write νμΌ μμ€ν
μ 컨ν
μ΄λκ° νμν νλ‘μΈμ€λ₯Ό μμ±νκ³ μ€ννκΈ° μν΄μμ΄λ€. μ΄λ¬ν λ°©μμ copy on writeλΌκ³ νλ©°, μ΄ λ°©μμΌλ‘ λ컀 μ΄λ―Έμ§λ₯Ό λΉλ ν λ λ§€μ° ν¨κ³Όμ μ΄κ³ λΉ λ₯΄κ² λΉλ ν μ μλ€.
μ°Έκ³ μ¬μ΄νΈ
https://changhyunit.tistory.com/58
(Docker κ°μν)
https://cultivo-hy.github.io/docker/image/usage/2019/03/14/Docker%EC%A0%95%EB%A6%AC/
(Docker κ°λ
λ° μ¬μ©λ²)
https://www.daleseo.com/docker-run/
(Docker run λͺ
λ Ήμ΄)
https://www.joinc.co.kr/w/man/12/logrotate
(logrotate file)
http://forum.falinux.com/zbxe/index.php?mid=lecture_tip&document_srl=806457
(image μ μνκΈ°)
κ°μ /νλ‘μ νΈ? μμ λ€λ£¨λ λ΄μ©μΈλ°, μμΌλ‘ μμΈν μ°¨μ°¨ μ¬λ €λ³Όκ²μ! μ μ¬μ΄νΈ λ€μ μ°Έκ³ νμλ©΄, λμ± μμΈν λ΄μ©μ μ΄ν΄λ³΄μ€ μ μμ΄μ.