๐ณ Docker Compose ๋ช ๋ น์ด
๐พ Docker Compose ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ดํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ช
๋ น์ด๋ฅผ ์ค๋ช
ํฉ๋๋ค.
ํ์ผ ์ง์
Docker Compose
๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋งจ๋๊ฐ ์คํํ๋ ๋๋ ํ ๋ฆฌ์ ์๋ย docker-compose.yml
ย ๋๋ย docker-compose.yaml
๋ฅผ ์ค์ ํ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ค๋ฅธ ์ด๋ฆ์ด๋ ๊ฒฝ๋ก์ ํ์ผ์ Docker Compose ์ค์ ํ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉดย -f
ย ์ต์
์ผ๋ก ๋ช
์๋ฅผ ํด์ค๋๋ค.
# -f ์ต์
์ผ๋ก ํ์ผ์ผ ์ง์ ํ ์ ์์ต๋๋ค.
$ docker-compose -f docker-compose-local.yml up
# -f ์ต์
์ ์ฌ๋ฌ ๊ฐ์ ์ค์ ํ์ผ์ ์ฌ์ฉํ ๋๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
# ์ด ๋๋ ๋์ค์ ๋์ค๋ ์ค์ ์ด ์์ ๋์ค๋ ์ค์ ๋ณด๋ค ์ฐ์ ํ๊ฒ ๋ฉ๋๋ค.
$ docker-compose -f docker-compose.yml -f docker-compose-test.yml up
์ปจํ ์ด๋ ์์ฑ/์คํ
docker-compose up
์ปค๋งจ๋๋ Docker Compose
์ ์ ์๋์ด ์๋ ๋ชจ๋ ์๋น์ค ์ปจํ
์ด๋๋ฅผ ํ ๋ฒ์ ์์ฑํ๊ณ ์คํํ๊ธฐ ์ํด์ ์ฌ์ฉํฉ๋๋ค.
# -d ์ต์
์ ์ฌ์ฉํ์ฌ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ปจํ
์ด๋๋ฅผ ๋์๋๋ค.
# -d ์ต์
์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ํ์ฌ ํฐ๋ฏธ๋์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๊ณ , Ctrl+c๋ฅผ ์ฌ์ฉํ์ฌ ์ข
๋ฃํ ์ ์์ต๋๋ค.
$ docker-compose up -d
์ปจํ ์ด๋ ์ ์ง/์ญ์
docker-compose down
ย ์ปค๋งจ๋๋ Docker Compose
์ ์ ์๋์ด ์๋ ๋ชจ๋ ์๋น์ค ์ปจํ
์ด๋๋ฅผ ํ ๋ฒ์ ์ ์ง์ํค๊ณ ์ญ์ ํฉ๋๋ค.
# -v ์ต์
์ ์ฃผ๋ฉด docker-compose.yml์ ์ ์๋ ๋ณผ๋ฅจ์ ์ญ์ ํ๋ฉฐ down ํฉ๋๋ค.
$ docker-compose down -v
์ปจํ ์ด๋ ์์
docker-compose start
ย ์ปค๋งจ๋๋ ๋ด๋ ค๊ฐ ์๋ ์๋ ํน์ ์๋น์ค ์ปจํ
์ด๋๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด์ ์ฌ์ฉํฉ๋๋ค. docker-compose up
ย ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํด๋ ๋ด๋ ค๊ฐ ์๋น์ค๋ฅผ ์์์ ์ฌ๋ ค์ค๋๋ค.
$ docker-compose start web
์ปจํ ์ด๋ ์ ์ง
docker-compose stop
ย ์ปค๋งจ๋๋ย ๋์๊ธฐ๊ณ ์๋ ํน์ ์๋น์ค ์ปจํ
์ด๋๋ฅผ ์ ์ง์ํค๊ธฐ ์ํด์ ์ฌ์ฉํฉ๋๋ค.
$ docker-compose stop web
์ปจํ ์ด๋ ์กฐํ
docker-compose ps
ย ์ปค๋งจ๋๋ Docker Compose
์ ์ ์๋์ด ์๋ ๋ชจ๋ ์๋น์ค ์ปจํ
์ด๋ ๋ชฉ๋ก์ ์กฐํํ ๋ ์ฌ์ฉํฉ๋๋ค.
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------
django-app_db_1 docker-entrypoint.sh postgres Up 5432/tcp
django-app_web_1 python manage.py runserver ... Up 0.0.0.0:8000->8000/tcp
์ปจํ ์ด๋ ๋ก๊ทธ
docker-compose logs
ย ์ปค๋งจ๋๋ ์๋น์ค ์ปจํ
์ด๋์ ๋ก๊ทธ๋ฅผ ํ์ธํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ฉฐ, ๋ณดํตย -f
์ต์
์ ๋ถ์ฌ์ ์ค์๊ฐ ๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค. -f
๋ค์์ ์๋น์ค๋ช
์ ์
๋ ฅํ๋ฉด ํด๋น ์๋น์ค์ ๋ก๊ทธ๋ง ๋ณผ ์ ์์ต๋๋ค.
$ docker-compose logs -f web
web_1 | May 30, 2020 - 22:16:29
web_1 | Django version 3.0.6, using settings 'our_project.settings'
web_1 | Starting development server at http://0:8000/
web_1 | Quit the server with CONTROL-C.
๋ช ๋ น์ด ์ ๋ฌ
docker-compose exec
ย ์ปค๋งจ๋๋ ์คํ ์ค์ธ ์๋น์ค ์ปจํ
์ด๋๋ฅผ ๋์์ผ๋ก ์ด๋ค ๋ช
๋ น์ด๋ฅผ ๋ ๋ฆด ๋ ์ฌ์ฉํฉ๋๋ค.
$ docker-compose exec -it web /bin/bash
์ผํ์ฑ ๋ช ๋ น์ด
docker-compose run
์ปค๋งจ๋๋ ์๋น์ค ์ปจํ
์ด๋์ ํน์ ๋ช
๋ น์ด๋ฅผ ์ผํ์ฑ์ผ๋ก ์คํํ ๋ ์ฌ์ฉํฉ๋๋ค.
$ docker compose run web bash
์ค์ ํ์ธ
docker-compose config
์ปค๋งจ๋๋ Docker Compose
์ค์ ์ ํ์ธํ ๋ ์ฌ์ฉํฉ๋๋ค.ย -f
ย ์ต์
์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ์ค์ ํ์ผ์ ์ฌ์ฉํ ๋, ์ต์ข
์ ์ผ๋ก ์ด๋ป๊ฒ ์ค์ ์ด ์ ์ฉ๋๋์ง ํ์ธํด๋ณผ ๋ ์ ์ฉํฉ๋๋ค.
$ docker compose config
๋๊ธ๋จ๊ธฐ๊ธฐ