๋ชฉ์ฐจ
๐Compose ๋?
์ฌ๋ฌ๊ฐ์ ๋์ปค ์ปจํ ์ด๋๋ค์ ํ๋์ ์๋น์ค๋ก ์ ์ํ๊ณ
ํ๋์ ๋ฌถ์์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ฃผ๋ ํด
- ์ฌ๋ฌ๊ฐ ์ปจํ ์ด๋ ๊ด๋ฆฌ์ ๋์์ค
- ๋ณต์กํ ๋ช ๋ น์ด๋ก ์คํ์ํค๋ ๊ฑธ ๊ฐ์ํ ์ํจ๋ค.
Compose ์์ฑ
โ ํ์ผ๋ช ์ `compose.yml` ์ผ๋ก ์์ฑ
โ ` docker run --name webserver -d -p 80:80 nginx `
ํด๋น ์ฝ๋๋ฅผ ์๋ yml ํ์ผ๋ก ์์ฑ ํ ๊ฒ
- yml ์ ๋ค์ฌ์ฐ๊ธฐ๋ก ๊ณ์ธต์ ๋๋๊ธฐ ๋๋ฌธ์ ์ฃผ์
Compose ์คํ
โ ` docker compose up ` ์ ํ๋ฉด nginx ๊ฐ ์คํ๋จ์ ์ ์ ์๋ค.
์ฆ, ๊ฐํธํ๊ฒ ์คํ ๊ฐ๋ฅ!
ํฌ๊ทธ๋ผ์ด๋ ์คํ์ด๊ธฐ ๋๋ฌธ์ (์์ ๋ถ๊ฐ ctrl + c ํ์ถ)
โ ` docker compose up ` ๋ค์ -d ๋ฅผ ๋ถ์ด๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํ
Compose ์ข ๋ฃ
โ ์ปดํฌ์ฆ๋ก ์คํ๋ ์ปจํ ์ด๋ ์ข ๋ฃ `docker compose down`
ํ๋ํ๋ ์์ด๋๋ฅผ ์ฐพ์์ ์ข ๋ฃํ์ด์ผํ๋๋ฐ ์ฝ๊ฒ ์ข ๋ฃ ๊ฐ๋ฅํด์ง
Compose ์กฐํ
โ `docker compose ps`
`docker ps` ์ฌ๋ฌ๊ฐ ์ปจํ ์ด๋ ์คํ๋๊ฑธ ๋ค ๋์ฐ๋ ๋ฐ๋ฉด์
compose.yml ์ ์ ์๋ ์ปจํ ์ด๋ ์ค "์คํ ์ค" ์ปจํ ์ด๋๋ง ๋ฐ๋ก ๋์์ค
โ `docker compose ps -a` (๋ชจ๋ ์ปจํ ์ด๋ )
โ `docker compose logs`
compose.yml ์ ์ ์๋ ์ปจํ ์ด๋ ์ค
์ฌ๋ฌ๊ฐ ์ปจํ ์ด๋์์ ์คํ๋๊ณ ์๋ ๋ก๊ทธ๋ฅผ ์ข ํฉํด์ ๋ณด์ฌ์ค
Compose ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํด์ ๋ค์ ์ปจํ ์ด๋๋ฅผ ์คํ
โ `docker compose up --build`
์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํด์ ๋ค์ ์ปจํ ์ด๋๋ฅผ ์คํ์์ผ์ผํ ๋
Compose ์ด๋ฏธ์ง ๋ค์ด / ์ต์ ์ ๋ฐ์ดํธ
โ docker compose pull
์คํ์ํฌ๋.. nginx ๊ฐ ์์ผ๋ฉด ๋ค์ด , ์์ผ๋ฉด ๋ก์ปฌ์ ์๋ nginx ์ฌ์ฉ (์ ๋ฐ์ดํธ ๋์์ ์๋ ์๋๋ฐ...
์ด๋ compose pull ์ ํ๋ฉด compose.yml ์ ์ ์๋ ์ปจํ ์ด๋ ์์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด or ์ต์ ์ ๋ฐ์ดํธ ์์ผ
CLI ↔ yml๋ณํ
์ง๊ธ๊น์ง์ ์์ ๋ฅผ ๋ณด๋ฉด Docker CLI๋ก ์์ฑํ ์ ์๋ ๋ช ๋ น์ด๋ ์ ๋ถ compose.yml ํ์ผ๋ก ์ฎ๊ธธ ์ ์๋ค. ๋ฐ๋๋ก compose.yml์ ์์ฑํ ๋ชจ๋ ๊ฐ์ Docker CLI๋ก ๋ํ๋ผ ์ ์๋ค. ์ด๋ฅผ ํธํ๊ฒ ๋ณํํด์ฃผ๋ ์ฌ์ดํธ๊ฐ ์กด์ฌํ๋ค.
โ Docker CLI → compose.yml๋ก ๋ณํ
โ compose.yml → Docker CLI๋ก ๋ณํ