Docker์ ๊ฐ๋
์ปดํจํฐ์ ๊ธฐ๋ณธ OS (Window/Mac) ์ธ์ ๋ชจ๋ ๊ฒ(python, cuda, cudnn, pytorch, huggingface, wandb, tmux, htop)์ ๊ฐ ์ํฉ์ ์ธํ ํ ์ ์๊ฒ ํ๋ ๊ฐ์ ํ๊ฒฝ์ ๊ฐ๋
์ ์ด๋ฆ์ด Docker์ผ๊น?
๋์ปค๋ ํญ๋ง์์ ์ผํ๋ ๋ถ๋ ๋ ธ๋์ ๋ผ๋ ๋ป์ ์๋ฏธํ๋ค. ์ด๋ ๊ฒ ๊ท๊ฒฉํ๋ ์ปจํ ์ด๋๋ฅผ ์ฎ๊ธฐ๊ณ ๊ด๋ฆฌํ๋ ์์ ์ ์ํ. ์ปดํจํฐ์์๋ ๋์ปค๋ ๊ท๊ฒฉํ๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ๋์ฐ๊ฑฐ๋, ์ปจํ ์ด๋ ๋ด๋ถ์์ ์์ ํ ๋ด์ฉ์ ๋ค์ ์ด๋ฏธ์ง๋ก ์์ ํด์ ๋ฐ์ํ๋ ๋ฑ์ ์ญํ ์ ํ๋ ์ํํธ์จ์ด๋ฅผ ์นญํ๋ค.
์ปดํจํฐ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ท๊ฒฉํ๋ ์ปจํ ์ด๋ ์์๋ ์คํํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ, ์ด๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๊ฒฝ์ค์ ๋ฑ์ด ๋ค์ด ์์ด ์ปจํ ์ด๋๋ง ์ ๋ฐ์์ค๋ฉด ๋๊ตฌ๋ ๋ฐ๋ก ์คํ ํ๊ฒฝ์ ์ ํ ํ ํ์ ์์ด ๋ฐ๋ก ๊ตฌ๋ํ ์ ์๊ฒ ๋๋ค. ์ปจํ ์ด๋์๋ ๋ฐฑ์๋ ํ๋ก๊ทธ๋จ, DB์๋ฒ, ๋ฉ์์ง ํ ๋ฑ ์ด๋ ํ ํ๋ก๊ทธ๋จ๋ ์ถ์ํ๋์ด ๋ค์ด์์ ์ ์๊ณ , ์ด๋ค ํ๊ฒฝ์์๋ ์ปจํ ์ด๋๋ง ๋ฐ์ ์ค๋ฉด ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๋ค.
Docker๋ฅผ ์ฌ์ฉํ๋ ์ด์
- ํ๊ฒฝ ์ผ์น์ฑ: ๋ค์ํ ํ๊ฒฝ์์ ๋์ผํ ์คํ ํ๊ฒฝ์ ๋ณด์ฅํ๋ค. ๋์ผํ ์๋ฒ์์ ๋ค๋ฅธ cuda, python, pytorch, huggingface๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ํธ๋ฆฌํ ๋ฐฐํฌ: ๋์ปค ์ปจํ ์ด๋๋ ์ด๋ฏธ์ง๋ก ํจํค์ง๋์ด ๋ฐฐํฌ๋๋ฏ๋ก, ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๊ฐ ๊ฐ๋จํด์ง๋ค. ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ๋ฐฐํฌํ ๋ ์ฉ์ดํ๋ฉฐ, ๋น ๋ฅธ ํ์ฅ์ด ๊ฐ๋ฅํ๋ค.
- ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ: ๋์ปค๋ ๊ฐ ์ปจํ ์ด๋๋ฅผ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ผ๋ก ์คํํ๋ฏ๋ก, ํ๋์ ์ปจํ ์ด๋์์ ๋ฐ์ํ ๋ฌธ์ ๊ฐ ๋ค๋ฅธ ์ปจํ ์ด๋์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
- ์์ ํจ์จ์ฑ: ๊ฐ์ ๋จธ์ ๊ณผ ๋น๊ตํด ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๋ฉฐ, ํธ์คํธ ์์คํ ์ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์๋ค.
- ์ค์ผ์ผ๋ง: ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ ์ฌ์ด ์ค์ผ์ผ๋ง์ด ๊ฐ๋ฅํ์ฌ ์๊ตฌ์ ๋ฐ๋ผ ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์ฅํ ์ ์๋ค.
⇒ ๋์ปค ์ด๋ฏธ์ง(๋ ๋ฆฝ์ ์ธํ )๋ง ๊ฐ์ ธ์ ์์ฑํ๋ฉด ๋ฐ๋ก ํ๊ฒฝ์ ๋ง์ถ ์ ์๋ค.
Docker์ ๊ตฌ์ฑ ์์
1. ์ด๋ฏธ์ง(Image) : ์ธํ ์ ์ ์ฅํด๋์ ํ์ผ
: ์ด๋ฏธ์ง๋ ๊ฐ์ OS, ๋งํ์๋ฉด ๋ณธ์ธ์ด ๋ง์๋๋ก ์ธํ ํ ์ ์๋ ์๋ก์ด ์ปดํจํฐ๋ก ์๊ฐํ ์ ์๋ค.
: ๋ผ์ด๋ธ๋ฌ๋ฆฌ, cuda, cudann ๋ฑ์ด ํฌํจ๋ ํ๊ฒฝ ์ธํ ์ด ์ ์ฅ๋์ด ์์
2. ์ปจํ ์ด๋(Container) : ๊ฐ์ํ๊ฒฝ์ ๊ฐ๋ / ๊ตฌ์ถํ ์ด๋ฏธ์ง๋ฅผ ์คํํ๋ ๊ธฐ์
: ์ปจํ ์ด๋๋ฅผ ์์ฑํ ๋, Image๋ฅผ ์ง์ ํ์ฌ ํด๋น Image์ ์ ์ฅ๋์ด ์๋ ํ๊ฒฝ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธํ ์ด ํด๋น ์ปจํ ์ด๋์ ์ค์น๋๋ค
: ํ๋์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค ์ ์์
์ปจํ ์ด๋ ์ ๋ฐ์ดํธ
๋ง์ผ ์์ ํ๊ณ ์ถ์๊ฒ ์๊ธฐ๋ฉด ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํ๊ณ , ์ฌ์์ฑ๋ ์ด๋ฏธ์ง๋ก ์ปจํ ์ด๋๋ฅผ ์ฌ์คํํด์ผํ๋ค.
Q : ์ฌ๊ธฐ์ ์ง๋ฌธ, ๋ง์ผ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ , ์ปจํ ์ด๋ ์์์ ํ ์น ๋ฒ์ ์ ๋ฐ๊พธ๋ฉด ๋ฐ๋๋? or cuda ๋ฒ์ ์?
Reference
Docker #2. ๋์ปค ์ด๋ฏธ์ง์ ์ปจํ ์ด๋(images and containers)
[Docker] ์ด๋ฏธ์ง ๋ ์ด์ด ๊ตฌ์กฐ
๋์ปค(Docker)๋ ์ ๋์ปค์ธ๊ฐ์? ๋์ปค์ ์๋ฏธ์ ๋์ปค์ด๋ฏธ์ง๊ฐ ๋ฌด์์ธ์ง ์ ๋ฆฌ
[Docker] (1) ๋์ปค ๊ฐ๋ ์ค๋ช | ๋์ปค๋ ์ ์ฌ์ฉํ๋ ๊ฑธ๊น?
'ํ๊ฒฝ ๊ตฌ์ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Window ๋ฐ๊ณ Linux ์ค์น [Docker ์ค์นํ๊ธฐ] (0) | 2024.03.22 |
---|---|
Window ๋ฐ๊ณ Linux ์ค์น [Linux & Anaconda ์ค์น] (0) | 2024.03.22 |