Docker์™€ Virtual Machine์˜ ์ฐจ์ด

2025. 6. 9. 16:45ยทvirtual environment/Docker

 

๐Ÿ–ฅ Virtual Machine (VM)

๐Ÿณ Docker Container

์ •์˜
๊ฐ€์ƒ ๋จธ์‹ (Virtual Machine)์€ ๋ฌผ๋ฆฌ์ ์ธ ํ•˜๋“œ์›จ์–ด ์ž์›(CPU, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ)์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ฐ€์ƒํ™”ํ•œ ํ™˜๊ฒฝ์œผ๋กœ, ๋…๋ฆฝ์ ์ธ ์šด์˜์ฒด์ œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํŒ… ๋‹จ์œ„๋ฅผ ์˜๋ฏธ ์ •์˜
๋„์ปค(Docker)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒŒ์ผ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์„ค์ • ๋“ฑ์„ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์— ํŒจํ‚ค์ง•ํ•˜์—ฌ ๊ฐ€๋ณ๊ณ  ์ด์‹์„ฑ ๋†’์€ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ํ”Œ๋žซํผ
๊ตฌ์„ฑ ๋ฐ ๋™์ž‘ ๋ฐฉ์‹
  • ํ•˜์ดํผ๋ฐ”์ด์ €(Hypervisor)๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ ๋‹ค์ˆ˜์˜ ๊ฒŒ์ŠคํŠธ ์šด์˜์ฒด์ œ ์‹คํ–‰
  • ๊ฐ ๊ฒŒ์ŠคํŠธ OS๋Š” **๋…๋ฆฝ๋œ ์‹œ์Šคํ…œ ์ž์›(CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ €์žฅ์†Œ ๋“ฑ)**์„ ํ• ๋‹น๋ฐ›์œผ๋ฉฐ, ๋‹ค๋ฅธ ๊ฒŒ์ŠคํŠธ OS์™€ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋˜์–ด ๋™์ž‘
  • ์ด๋•Œ ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ํ•˜๋“œ์›จ์–ด์™€ ๊ฐ€์ƒ ๋จธ์‹  ์‚ฌ์ด์—์„œ ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ , ๊ฐ€์ƒํ™”๋ฅผ ์‹คํ˜„ํ•˜๋Š” ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ
  • ๋ฆฌ๋ˆ…์Šค์˜ ์ปค๋„ ๊ธฐ๋Šฅ์ธ Namespace, cgroups, chroot ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฒฉ๋ฆฌ๋œ ์‹คํ–‰ ํ™˜๊ฒฝ(์ปจํ…Œ์ด๋„ˆ)์„ ์ œ๊ณต
  • VM๊ณผ ๋‹ฌ๋ฆฌ ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ˜ธ์ŠคํŠธ OS์˜ ์ปค๋„์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ์†์‹ค์ด ๊ฑฐ์˜ ์—†์Œ.
  • ์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ทธ ์˜์กด์„ฑ๋งŒ ํฌํ•จํ•˜๋ฉฐ, ๋ณ„๋„์˜ ์šด์˜์ฒด์ œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฐฐํฌ ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ์‹คํ–‰ ์†๋„๊ฐ€ ๋น ๋ฆ„.
ํŠน์ง•
  • ๊ฒŒ์ŠคํŠธ OS์—๋Š” ์šด์˜์ฒด์ œ ์ปค๋„ ๋ฐ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์–ด, ๋ฐฐํฌ ์šฉ๋Ÿ‰์ด ํฌ๊ณ  ์„ฑ๋Šฅ ์†์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์™„์ „ํ•œ ๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋ณด์•ˆ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ, ์„œ๋กœ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • ๊ฒฝ๋Ÿ‰ํ™”๋œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • VM๋ณด๋‹ค ๋ฆฌ์†Œ์Šค ์†Œ๋น„๊ฐ€ ์ ๊ณ , ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ์†๋„๊ฐ€ ๋น ๋ฆ„
  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ์†์‰ฌ์šด ๋กค๋ฐฑ ๊ฐ€๋Šฅ
์žฅ์ 
  • ํ˜ธ์ŠคํŠธ์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ ํ™˜๊ฒฝ ์ œ๊ณต
  • ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์„ค์น˜ ๊ฐ€๋Šฅ (์˜ˆ: Ubuntu, CentOS, Windows ๋“ฑ)
  • Docker์— ๋น„ํ•ด ๋” ๊ฐ•๋ ฅํ•œ ๊ฒฉ๋ฆฌ ๋ฐ ๋ณด์•ˆ์„ฑ ์ œ๊ณต
  • ๋น ๋ฅธ ์‹œ์ž‘ ๋ฐ ๋ฐฐํฌ, ๋†’์€ ์ด์‹์„ฑ (Portability)
  • ์ž์› ์†Œ๋น„๊ฐ€ ์ ์–ด ๋Œ€๊ทœ๋ชจ ์„œ๋น„์Šค ์šด์˜์— ์ ํ•ฉ
  • ์ด๋ฏธ์ง€ ๊ณต์œ  ๋ฐ ํ˜‘์—… ์šฉ์ด (Docker Hub ๋“ฑ)
๋‹จ์ 
  • ๊ฒŒ์ŠคํŠธ OS๋ฅผ ํฌํ•จํ•˜๋ฏ€๋กœ ์ž์› ์†Œ๋ชจ๊ฐ€ ํฌ๊ณ  ์‹คํ–‰ ์†๋„๊ฐ€ ๋А๋ฆด ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐํฌ ๋ฐ ๋ถ€ํŒ… ์‹œ๊ฐ„์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆผ
  • ์ปค๋„์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ VM์— ๋น„ํ•ด ๋ณด์•ˆ ๋ฐ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์ด ๋‚ฎ์Œ
  • ํ˜ธ์ŠคํŠธ OS์— ์ข…์†์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ ํ™˜๊ฒฝ์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๊ธฐ๋Š” ์–ด๋ ค์›€

 

 

โœ… ๋น„๊ต ์ •๋ฆฌ

ํ•ญ๋ชฉ Virtual Machine (VM) Docker Container

์ปค๋„ ๋…๋ฆฝ์ ์ธ OS ์ปค๋„ ํฌํ•จ ํ˜ธ์ŠคํŠธ OS ์ปค๋„ ๊ณต์œ 
์‹คํ–‰ ์†๋„ ๋А๋ฆผ (์˜ค๋ฒ„ํ—ค๋“œ ์กด์žฌ) ๋น ๋ฆ„ (๊ฒฝ๋Ÿ‰ ๊ตฌ์กฐ)
๋ฐฐํฌ ์šฉ๋Ÿ‰ ํผ ์ž‘์Œ
๊ฒฉ๋ฆฌ ์ˆ˜์ค€ ๋†’์Œ ๋‚ฎ์Œ
์šด์˜์ฒด์ œ ๋‹ค์–‘์„ฑ ์ž์œ ๋กœ์›€ (Windows, Linux ๋“ฑ ํ˜ผ์šฉ ๊ฐ€๋Šฅ) ์ œํ•œ์  (ํ˜ธ์ŠคํŠธ์™€ ๊ฐ™์€ ์ปค๋„ ์‚ฌ์šฉ)
๋ณด์•ˆ์„ฑ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ•ํ•จ ์ œํ•œ์ 
์‚ฌ์šฉ ์‚ฌ๋ก€ OS ๊ฒฉ๋ฆฌ ํ•„์š”, ๋ณด์•ˆ ์ค‘์š” ์‹œ ๋น ๋ฅธ ๊ฐœ๋ฐœ·๋ฐฐํฌ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค

 

๊ฒฐ๋ก 

  • ์„œ๋กœ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ ํ™˜๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋‚˜ ๊ฐ•๋ ฅํ•œ ๊ฒฉ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” VM์ด ์ ํ•ฉ
  • ๋ฐ˜๋ฉด์—, ๋น ๋ฅธ ๋ฐฐํฌ, ๊ฒฝ๋Ÿ‰ํ™”๋œ ์‹คํ–‰ ํ™˜๊ฒฝ, ๋†’์€ ์ด์‹์„ฑ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” Docker๊ฐ€ ๋” ํšจ์œจ์ ์ธ ์„ ํƒ
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'virtual environment > Docker' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Docker Volumes  (0) 2025.06.10
Dockerfile vs. Docker Hub  (0) 2025.06.10
Docker ๊ตฌ์กฐ/๋™์ž‘ ์›๋ฆฌ  (0) 2025.06.10
Docker์˜ ํ•„์š”์„ฑ  (0) 2025.06.06
Docker ์šฉ์–ด ๋ฐ ๊ธฐ๋Šฅ ์ •๋ฆฌ  (0) 2025.06.06
'virtual environment/Docker' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Dockerfile vs. Docker Hub
  • Docker ๊ตฌ์กฐ/๋™์ž‘ ์›๋ฆฌ
  • Docker์˜ ํ•„์š”์„ฑ
  • Docker ์šฉ์–ด ๋ฐ ๊ธฐ๋Šฅ ์ •๋ฆฌ
yoon-k
yoon-k
  • yoon-k
    To be || Not To be
    yoon-k
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (84)
      • Study (13)
        • Linux (6)
        • Computer Vision (1)
        • Coursera - Deep Learning (4)
        • Mathematics For Machine Lea.. (2)
      • Programming (12)
        • Python (2)
        • ETC. (10)
      • virtual environment (44)
        • Docker (29)
        • conda (4)
        • Cloud (11)
      • Robotics (9)
        • Jetson (7)
        • ROS (2)
      • Upstage (6)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • github
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Installation
    cursor
    LLM
    ๋„์ปค
    ambassador
    coursera
    docker
    conda
    Andrew Ng
    OpenAI
    claude
    futureofwork
    ์—…์Šคํ…Œ์ด์ง€
    ์ฝ”์„ธ๋ผ
    ORiN
    nvidia
    Solar
    upstage
    google cloud platform
    Miniconda
    ๋”ฅ๋Ÿฌ๋‹
    claude code
    API
    vscode
    ์˜ค๋ฆฐ
    redeem code
    Deep Learning
    Jetson
    Anaconda
    GCP
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.4
yoon-k
Docker์™€ Virtual Machine์˜ ์ฐจ์ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”