๊ฐ์
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
- ๋ ๋ฆฝ ๋ฐฐํฌ ๋ฐ ๊ณ ์ ํ์ผ
- ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ๊ฑฐ๋ ์ฌ์ฌ์ฉํ ๊ฒฝ์ฐ
- ์ปจํ ์ด๋ ์คํ์ ํ์ํ ๋ชจ๋ ํ์ผ์ด ์ด๋ฏธ์ง ์์ ํฌํจ๋๋๋ก ํ๊ณ ์ถ์ ๋
- ํธ์คํธ ์์คํ ํ์ผ/๋๋ ํ ๋ฆฌ์ ์์กด์ฑ์ ์์ ๊ณ ์ถ์ ๋