- toc {:toc}
ํ์ต ๋ชฉํ
- ์ปจํ ์ด๋ ๋ด๋ถ์ ํ์ผ์ ์ ์ฅํ ๋ ๋ฐ์ํ๋ ๋ฌธ์
- ์ปจํ ์ด๋๊ฐ ๋์ํ๋ ๋ฌผ๋ฆฌ์ ์ธ ํธ์คํธ ๋จธ์ ์์ ๋ง๋ค์ด์ง๋ ์คํ ๋ฆฌ์ง์ ๋ํด ํ์ตํ๋ค.
- ํ์ผ์ ์ ์ฅํ๋ ์ปจํ
์ด๋๋ฅผ ์ํ ์ต์
- volumes
- bind mounts : ๋ฆฌ๋ ์ค๋ ์ ๋์ค ์ด์์ฒด์ ์์ ๋ณ๋์ ์คํ ๋ฆฌ์ง๋ฅผ ์ธ์์ํฌ ์ ์๋๋ก ์ฐ๊ฒฐํ๋ ๊ธฐ์
- tmpfs mount (for Docker on Linux)
- named pipe (for Docker on Windows)
- volumes, bind mounts์ ์ด์
Issues
-
๋ฐ์ดํฐ๋ ์ปจํ ์ด๋๊ฐ ์กด์ฌํ์ง ์์ ๋ ์ ์ง๋ ์ ์๋ค.
-
์ปจํ ์ด๋ ์์๋ ๊ฐ์์ ๋์คํฌ๋ฅผ ๋ง๋ค์ด์ ๋ถ์ผ ์ ์๋๋ฐ, ์ด๋ฅผ writable layer๋ผ๊ณ ํ๋ค.
- Writable layer๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ host machine๊ณผ ์ฐ๊ฒฐ๋์ด ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๊ธฐ ํ๋ค๋ค.
- Writable layer๋ ์คํ ๋ฆฌ์ง๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๋ผ์ด๋ฒ ๋ฑ์ผ๋ก ์ธํด ์ฑ๋ฅ์ด ๊ฐ์ํ๋ค.
-
์ปจํ ์ด๋ ๋ฐ๊นฅ์ ์ ์ฅ๊ณต๊ฐ์ ๋ง๋ ๋ค. - Volume, Bind mounts
-
Volumes
- docker deamon์ด ํธ์คํธ ์ปดํจํฐ์ ์คํ ๋ฆฌ์ง ์ค ํน์ ์์ญ์ ๋์ปค์ ๊ณต๊ฐ์ผ๋ก ์ ์ ํ ๊ฒ.
- ๋์ปค์ ์ํด์ ๊ด๋ฆฌ๋๋ ํธ์คํธ ํ์ผ ์์คํ ์ ํ ๋ถ๋ถ์ ์ ์ฅ๋๋ค.
- ๋์ปค ํ๋ก์ธ์ค๊ฐ ์๋๋ผ๋ฉด ์์ ํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
- ๋์ปค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ์์ด๋ค.
- ํน์ฑ
- ๋์์ ์ฌ๋ฌ ์ปจํ ์ด๋ ์์ ํ๋์ volume์ด ๋ง์ดํธ๋ ์ ์๋ค.
- volume์ ์ฌ์ฉํ ์ปจํ ์ด๋๊ฐ ์คํ ์ค์ด์ง ์์ ๋๋ ์ฌ์ ํ ๋์ปค์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์๋์ ์ผ๋ก ์ญ์ ๋์ง ์๋๋ค.
- ๋ฆฌ๋ชจํธ ํธ์คํธ ํน์ ํด๋ผ์ฐ๋ ์ ๊ณต์์ ๋ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ์ฉ๋
- ์ปจํ ์ด๋๊ฐ ์์ฑํ์ฌ ์ปจํ ์ด๋ ๋ณธ์ธ์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์ด๋๊ฐ์ ์๋ ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ณธ์ ๊ฐ์ ธ์ ์ ์ฅํ๊ณ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
-
Bind mount
- ํธ์คํธ ์ปดํจํฐ์ ํ๋๋์คํฌ, ssd์ ํน์ ์์น๋ฅผ ๊ฐ๋ฐ์๊ฐ ์์์ ์ผ๋ก ์ง๋ชฉํด ์ฐ๊ฒฐํ ์ ์๋๋ก ๋ง๋ ๋ค.
- ํธ์คํธ ์์คํ
์ ์คํ ๋ฆฌ์ง ์ค ์ด๋๋ ์ ์ฅ๋ ์ ์๋ค.
- ๋์ปค ํ๋ก์ธ์ค๊ฐ ์๋๋ผ๋ ์์ ํ ์ ์๋ค.
- ๋์ปค ๋ช ๋ น์ ์ํด ์ ์ด๋ ํ์ ์๋ค.
- ์ฉ๋
- ์ปจํ ์ด๋๊ฐ ์คํ๋๊ธฐ ์ด์ ์ ์ด๋ฏธ ์์ฑ๋ ์๋ฃ์ ์ ๊ทผํ ์ ์๋๋ก ํด์ค๋ค.
- ์ปจํ ์ด๋์ ๋์ํ๋ ๊ณผ์ ์ ํตํด ํธ์คํธ ์คํ ๋ฆฌ์ง๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฏผ๊ฐํ ํ์ผ์ ์ ๊ทผํ ์ ์๋ค.
-
tmpfs (for Docker on Linux)
- ํธ์คํธ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ๋ง ์ ์ฅ๋๋ค. ํ์ผ ์์คํ ์ ์ ์ฅ๋์ง ์๋๋ค.
- ์ปจํ ์ด๋๊ฐ ๋ฉ์ถ ๋ tmpfs ๋ง์ดํธ๋ ์ ๊ฑฐ๋๊ณ ์ฐ์ธ ํ์ผ๋ค์ ์ ์ง๋์ง ์๋๋ค.
- Volume, Bind Mount์์ ์ฐจ์ด
- tmpfs๋ ์ผ์์ ์ด๊ณ ํธ์คํธ ๋ฉ๋ชจ๋ฆฌ์๋ง ์ ์ฅ๋๋ค.
- ์ปจํ ์ด๋ ์ฌ์ด์ tmpfs๋ฅผ ๊ณต์ ํ ์ ์๋ค.
-
named pipe (for Docker on Window)
-
Jenkins - CI/CD
-
Continuous Integration and Delivery server
-
์ฝ๋ ์์ฑ์ ๋ง์น๊ณ ๊นํ๋ธ์ ์ฌ๋ฆฐ ํ ์ปดํ์ผ, ๋น๋, ํ ์คํธ, ๋ฐฐํฌ ๋ฑ์ ์์ ์ ์ฌ๋์ ๊ฐ์ ์์ด ์๋์ผ๋ก ์ํํ๋ ๊ณผ์ ์ ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
-
์๊ฐ์ ์ค์ ํด์ ๋ฐฐํฌํ๋ ๋ฑ ์ค์ ํ ์ ์๋ค.
Docker Machine
- Docker Machine
- ๊ฐ์ ํธ์คํธ์ ๋์ปค ์์ง์ ์ค์นํ ์ ์๋๋ก ํ๋ ๋๊ตฌ.
- ๋์ปค ๋จธ์ ์ ๊ฐ์ ํธ์คํธ์ ์ค์นํ๊ณ ํธ์คํธ๋ฅผ ๋์ปค ๋จธ์ ์ปค๋ฉ๋๋ฅผ ํตํด ๋ค๋ฃฌ๋ค.
- ํน์ ๊ฐ์ ๋จธ์ ์ ๋ง๋ค๊ณ ๋์ปค๋ฅผ ์ค์นํด ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค.
- ์ฉ๋
- ์ค๋๋ ๋ฐ์คํฌํ์ ๊ฐ์ง๊ณ ์๊ณ ๋งฅ์ด๋ ์๋์ฐ์์ ๋์ปค๋ฅผ ์คํํ๊ณ ์ถ์ ๊ฒฝ์ฐ
- ์๊ฒฉ ์์คํ ์ ๋์ปค ํธ์คํธ๋ฅผ ๊ณต๊ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ
- ๋์ปค ๋จธ์ ์ปค๋ฉ๋๋ฅผ ํตํด ๋ค์์ ํ ์ ์๋ค.
- Start, inspect, stop, restart a managed host
- Upgrade the Docker client & daemon
- Configuare a Docker client to talk to your host