νλ μννΈμ¨μ΄ κ°λ° νκ²½μμ 컨ν μ΄λ(Container)μ μ΄λ―Έμ§(Image)λ μ ν리μΌμ΄μ μ λ°°ν¬μ κ΄λ¦¬λ₯Ό νμ μ μΌλ‘ λ³νμν¨ ν΅μ¬ κΈ°μ μ λλ€. μ΄ ν¬μ€νΈμμλ 컨ν μ΄λμ μ΄λ―Έμ§μ κ°λ , νμμ±, κ·Έλ¦¬κ³ μ΄λ₯Ό ν¨κ³Όμ μΌλ‘ νμ©νκΈ° μν κ³ λ €μ¬νμ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
Container(컨ν μ΄λ)λ?
컨ν μ΄λλ μ ν리μΌμ΄μ μ μ€ννκΈ° μν΄ κ²©λ¦¬λ κ²½λ νλ‘μΈμ€λ₯Ό μ 곡ν©λλ€.
μ΄λ λ 립μ μΈ νκ²½μμ μ ν리μΌμ΄μ μ΄ μ€νλ μ μλλ‘ νμ¬, μλ‘ λ€λ₯Έ μ ν리μΌμ΄μ κ°μ κ°μμ μ΅μνν©λλ€.
νλ‘μΈμ€μμ κ΄κ³
- νλ‘μΈμ€: μ€ν μ€μΈ νλ‘κ·Έλ¨μ μλ―Ένλ©°, μλ₯Ό λ€μ΄ λ©λͺ¨μ₯μ΄λ ν¬λ‘¬ λΈλΌμ°μ λ±μ΄ μμ΅λλ€.
- μμ μ¬μ©: νλ‘μΈμ€λ λ©λͺ¨λ¦¬, νμΌ μμ€ν , λ€νΈμν¬ λ± μ»΄ν¨ν°μ λ€μν μμμ μ¬μ©ν©λλ€.
- 격리: μ¬λ¬ νλ‘μΈμ€κ° λμμ μ€νλ λ, μλ‘ κ°μνμ§ μλλ‘ λ©λͺ¨λ¦¬ μμ€μμ 격리λ©λλ€. 컨ν μ΄λλ μ¬κΈ°μ λν΄ νμΌ μμ€ν κ³Ό λ€νΈμν¬κΉμ§λ 격리νμ¬ λ³΄λ€ μ² μ ν λΆλ¦¬λ₯Ό μ 곡ν©λλ€.
컨ν μ΄λμ νμμ±
κ·Έλ¬λ©΄ μ°λ¦¬λ μκ°ν΄λ³Όμ μμ΄μ. μ Containerκ° νμν κΉμ?
- 격리λ νκ²½ μ 곡: νλμ μ»΄ν¨ν° λ΄μμλ λ 립λ μ€ν νκ²½μ μ 곡νμ¬, μ¬λ¬ μ ν리μΌμ΄μ μ΄ μΆ©λ μμ΄ μ€νλ μ μμ΅λλ€.
- μ± κ° κ°μ κ°μ: μ ν리μΌμ΄μ κ°μ κ°μμ μ€μ¬ μμ μ±μ λμ λλ€.
- μ₯μ 격리: νΉμ μ ν리μΌμ΄μ μ μ₯μ κ° λ€λ₯Έ μ ν리μΌμ΄μ μ μν₯μ λ―ΈμΉμ§ μλλ‘ ν©λλ€.
- μ μ°ν 격리 μμ€ μ‘°μ : μꡬμ¬νμ λ°λΌ λ©λͺ¨λ¦¬, νμΌ μμ€ν , λ€νΈμν¬, λΌμ΄λΈλ¬λ¦¬, μ΄μ체μ (OS), νλμ¨μ΄(H/W) λ± λ€μν μμ μΈ΅μμ 격리 μμ€μ μ‘°μ ν μ μμ΅λλ€.
컨ν μ΄λμ κ°μλ¨Έμ μ λΉκ΅
νΈμ€νΈ OS μμ€μ 격리 (κ°μλ¨Έμ ):
- νμ΄νΌλ°μ΄μ λ₯Ό μ¬μ©νμ¬ κ°μλ¨Έμ (VM)μ μμ±ν©λλ€.
- λμ μμ€μ 격리λ₯Ό μ 곡νλ©° 보μμ μ΄μ μ΄ ν½λλ€.
- νμ§λ§ μ΄μ체μ μ λͺ¨λ μ€ν μμλ₯Ό ν¬ν¨ν΄μΌ νλ―λ‘ λ¬΄κ²κ³ μ΄κΈ° ꡬλ μλκ° λ립λλ€.
μ ν리μΌμ΄μ μμ€μ 격리 (컨ν μ΄λ):
- μ΄μ체μ κ΄λ ¨ μμλ₯Ό ν¬ν¨νμ§ μκΈ° λλ¬Έμ κ°μλ¨Έμ λ³΄λ€ ν¨μ¬ κ°λ³μ΅λλ€.
- κ²½λ νλ‘μΈμ€λ‘ λμνλ©° μ΄κΈ° ꡬλ μλκ° λΉ λ¦ λλ€.
- νμ€ κΈ°μ λ‘ μ리μ‘μ λ€μν νκ²½μμ νΈνμ±μ΄ λ°μ΄λ©λλ€.
Image (μ΄λ―Έμ§)λ?
μ΄λ―Έμ§λ 컨ν μ΄λλ₯Ό μμ±νκΈ° μν΄ νμν λͺ¨λ μμλ₯Ό ν¬ν¨ν νμΌ λ¬Άμ μ λλ€.
μ΄λ μλ² μ€ν μμ€ μ½λ, λͺ λ Ήμ΄, μ΅μ μ 보 λ±μ ν¬ν¨νμ¬ μ»¨ν μ΄λκ° μΌκ΄λκ² μ€νλ μ μλλ‘ ν©λλ€.
- μΌλͺ , 컨ν μ΄λλ₯Ό λ§λ€κΈ° μν μ€κ³λμμ. μ΄ μ€κ³λμλ μ±μ μ€ννλ λ° νμν λͺ¨λ κ²λ€μ΄ ν¬ν¨λμ΄ μμ£ —μ½λ, μ€μ , λͺ λ Ήμ΄ λ±.
μ΄λ―Έμ§μ νΉμ§
- μ΄λμ±: μ΄λ―Έμ§λ νμΌ ννμ΄κΈ° λλ¬Έμ λ€νΈμν¬λ₯Ό ν΅ν΄ μ½κ² μ£Όκ³ λ°μ μ μμ΅λλ€.
- λ²μ κ΄λ¦¬: μ΄λ―Έμ§λ νΉμ μμ μ μνλ₯Ό κ³ μ νκ² μλ³νκΈ° μν΄ Digest(λ€μ΄μ μ€νΈ)λΌλ ν΄μκ°μ μ¬μ©νμ¬ λ²μ κ΄λ¦¬λ₯Ό ν©λλ€.
- μ¬μ¬μ©μ±: λμΌν μ΄λ―Έμ§λ₯Ό μ¬λ¬ λ² μ¬μ©νμ¬ μΌκ΄λ 컨ν μ΄λλ₯Ό μ§μμ μΌλ‘ μμ±ν μ μμ΅λλ€.
κ·Έλ¬λ©΄, μ΄λ―Έμ§λ₯Ό μ¬μ©ν λ κ³ λ €ν΄μΌ νλκ²μ€μ λ²μ κ΄λ¦¬, μ¦ Digest(λ€μ΄μ μ€νΈ)λ₯Ό νμ©ν΄μ λ²μ κ΄λ¦¬λ₯Ό νλ€κ³ νλλ°, Digest(λ€μ΄μ μ€νΈ)λ 무μμΌκΉμ?
Digest(λ€μ΄μ μ€νΈ)
- μ μ: μ΄λ―Έμ§λ₯Ό κ³ μ νκ² μλ³νλ ν΄μκ°μΌλ‘, μλμΌλ‘ μμ±λ©λλ€.
- νκ·Έ(Tag): Digestλ μ¬λμ΄ μ΄ν΄νκΈ° μ΄λ €μ΄ ν΄μκ°μ΄κΈ° λλ¬Έμ, μ΄λ₯Ό λμ ν νκ·Έλ₯Ό μ¬μ©νμ¬ λ³μΉμ λΆμ¬ν©λλ€.
- μ: latest νκ·Έλ μ΅μ μ΄λ―Έμ§λ₯Ό κ°λ¦¬ν€λ λ³μΉμΌλ‘ μμ£Ό μ¬μ©λ©λλ€.
- λ²μ κ΄λ¦¬: νκ·Έλ μμ μ λ°λΌ λ€λ₯Έ Digestλ₯Ό μ°Έμ‘°ν μ μμΌλ―λ‘, νΉμ μμ μ μ΄λ―Έμ§λ₯Ό λͺ ννκ² μ§μ νκΈ° μν΄ μ¬μ©λ©λλ€.
μ μ₯ ν¨μ¨μ± (Layer λ°©μ)
κ·Έλ¦¬κ³ μ΄λ―Έμ§λ₯Ό κ΄λ¦¬ν λ, μ΄λ―Έμ§κ° ν΄μλ‘ μ μ‘νλλ° μκ°μ΄ λ§μ΄ 걸릴μ μμ΄μ.
κ·Έλμ μ΄λ―Έμ§μ μ μ₯ ν¨μ¨μ±μ λ°ν΄μ μ κ²½μ μ¨μΌν©λλ€. μ΄λ Layer(λ μ΄μ΄)λ°©μμ μ¬μ©ν©λλ€.
- μ΄λ―Έμ§ ν¬κΈ°: μ΄λ―Έμ§κ° ν΄μλ‘ λ€νΈμν¬λ₯Ό ν΅ν μ μ‘ μκ°μ΄ κΈΈμ΄μ§ μ μμ΅λλ€.
- λ μ΄μ΄(Layer) λ°©μ:
- μ΄λ―Έμ§λ₯Ό μ¬λ¬ κ°μ λ μ΄μ΄ λ¨μλ‘ λλμ΄ μ μ₯ν©λλ€.
- κ° λ μ΄μ΄λ λ³κ²½λμ§ μμ λΆλΆμ μ¬μ¬μ©ν μ μμ΄, μ€λ³΅ μ μ₯μ λ°©μ§νκ³ μ μ₯ ν¨μ¨μ±μ λμ λλ€.
- μλ₯Ό λ€μ΄, λ² μ΄μ€ μ΄λ―Έμ§μ μ ν리μΌμ΄μ λ μ΄μ΄λ₯Ό λΆλ¦¬νμ¬ κ΄λ¦¬ν μ μμ΅λλ€.
μΆκ° κ³ λ €μ¬ν
- 보μ: μ΄λ―Έμ§μ ν¬ν¨λ μννΈμ¨μ΄μ μ·¨μ½μ μ κ΄λ¦¬νκ³ , μ λ’°ν μ μλ μμ€μμ μ΄λ―Έμ§λ₯Ό κ°μ Έμ€λ κ²μ΄ μ€μν©λλ€.
- μ΅μ ν: λΆνμν νμΌμ΄λ ν¨ν€μ§λ₯Ό μ κ±°νμ¬ μ΄λ―Έμ§ ν¬κΈ°λ₯Ό μ΅μννκ³ , μ€ν μλλ₯Ό ν₯μμν¬ μ μμ΅λλ€.
- λ²μ μΌκ΄μ±: νκ·Έμ λ€μ΄μ μ€νΈλ₯Ό μ μ ν μ¬μ©νμ¬, κ°λ° νκ²½κ³Ό νλ‘λμ νκ²½ κ°μ μΌκ΄μ±μ μ μ§ν©λλ€.
컨ν μ΄λμ μ΄λ―Έμ§λ νλ μ ν리μΌμ΄μ κ°λ° λ° λ°°ν¬μ ν΅μ¬ λκ΅¬λ‘ μ리μ‘μμ΅λλ€. 컨ν μ΄λλ κ²½λνλ 격리 νκ²½μ μ 곡νμ¬ μ ν리μΌμ΄μ μ μμ μ±κ³Ό μ΄μμ±μ λμ΄λ©°, μ΄λ―Έμ§λ μ΄λ¬ν 컨ν μ΄λλ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ λ°°ν¬ν μ μλ κΈ°λ°μ μ 곡ν©λλ€.
μ΄λ₯Ό ν΅ν΄ κ°λ°μλ λμ± λΉ λ₯΄κ³ μ μ°νκ² μ ν리μΌμ΄μ μ κ°λ°νκ³ μ΄μν μ μκ² λμμ΅λλ€. μμΌλ‘λ 컨ν μ΄λμ μ΄λ―Έμ§ κΈ°μ μ λμ± λ°μ νμ¬ λ€μν νκ²½μμμ νμ©μ±μ΄ λμ± νλλ κ²μΌλ‘ κΈ°λλ©λλ€.
References
- Docker 곡μ λ¬Έμ: https://docs.docker.com/
'βοΈ Cloud Native > π³ Docker' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Docker] Dockerfile μμ±νκΈ°: λ¨κ³λ³ κ°μ΄λ (0) | 2025.01.10 |
---|---|
[Docker] μ΄λ―Έμ§ κ΄λ¦¬νκΈ°: Docker μ΄λ―Έμ§ ν¨μ¨μ μΌλ‘ λ€λ£¨κΈ° (0) | 2025.01.10 |
[Docker] Docker Volume νμ© (0) | 2024.11.16 |
[Docker] Dockerλ₯Ό νμ©ν Ngnix Container μ€μ , κ΄λ¦¬ & Docker hub λ°°ν¬ (0) | 2024.11.09 |
[Docker] Docker Container λͺ λ Ήμ΄ (with Ngnix Container μ€ν) (0) | 2024.11.05 |