๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ
๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป/docker

[Docker] Dockerfile COPY์™€ Mount ๋น„๊ต

by ๋ฐ”์ฟ„๋ฆฌ 2024. 11. 20.

๊ฐœ์š”

file๊ณผ directory๋ฅผ image buildํ•  ๋•Œ Dockerfile์—์„œ COPYํ•˜๋Š” ๊ฒƒ๊ณผ Docker container๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Mountํ•˜๋Š” ๊ฒƒ์„ ๋น„๊ตํ•˜๊ณ  ๊ตฌ๋ถ„ํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

Dockerfile์—์„œ COPY

  • COPY๋Š” build ์‹œ์ ์— host file/directory๋ฅผ container image ์•ˆ์œผ๋กœ ๋ณต์‚ฌํ•œ๋‹ค.
  • container ์‹คํ–‰ ์‹œ, Mount์™€ ๋‹ฌ๋ฆฌ ํŒŒ์ผ์ด ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๊ฐ€ ๋œ๋‹ค.
  • container๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ๋ฐฐํฌ๋˜๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•˜๋‹ค
    • container ์‹คํ–‰ ์‹œ ํ•ญ์ƒ ๋™์ผํ•œ ํŒŒ์ผ์ด ํ•„์š”ํ•  ๋•Œ
    • ๊ณต์œ  directory ์—†์ด container ๋‹จ๋…์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

์˜ˆ์‹œ)

COPY ./app /app

 

Mount

  • Mount๋Š” host ์‹œ์Šคํ…œ์˜ ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ๋ฅผ container ๋‚ด์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • Mount๋œ ํŒŒ์ผ์€ container๊ฐ€ ์ข…๋ฃŒ๋˜๋”๋ผ๋„ host ์‹œ์Šคํ…œ์— ๋‚จ์•„์žˆ๋‹ค.
  • ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ
    • container ์‹คํ–‰ ์ค‘ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋™์ ์œผ๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
    • ์ฝ”๋“œ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด container ๋‚ด์—์„œ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

์˜ˆ์‹œ)

DockerOperator(
    task_id='example_task',
    image='example_image:latest',
    mounts=[Mount(
                source='/host/directory/file',
                target='/containter/directory/file',
                type='bind'
                ),
    ...
)
  • source : ์‹ค์ œ host ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋Š” directory
  • target : container ๋‚ด๋ถ€์—์„œ ์ด ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์— ์ ‘๊ทผ
  • type='bind' : bind๋Š” host directory๊ณผ container directory๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—ฐ๊ฒฐ

๋‘˜ ์ค‘ ์„ ํƒ ๊ธฐ์ค€

  • Mount
    • ๊ฐœ๋ฐœ ๋ฐ ๋™์  ์ž‘์—…
    • ๊ฐœ๋ฐœ ์ค‘์ด๊ณ  ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
    • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰ ์ค‘์ผ ๋•Œ ํŒŒ์ผ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    • ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ํฌ๊ฑฐ๋‚˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€๋ณ๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • COPY
    • ๋…๋ฆฝ ๋ฐฐํฌ ๋ฐ ๊ณ ์ • ํŒŒ์ผ
    • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ ์žฌ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ
    • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ํŒŒ์ผ์ด ์ด๋ฏธ์ง€ ์•ˆ์— ํฌํ•จ๋˜๋„๋ก ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    • ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ์— ์˜์กด์„ฑ์„ ์—†์• ๊ณ  ์‹ถ์„ ๋•Œ