- Docker Compose๋ ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ๋ชจ์์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํด
- ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด, ๋ณต์์ ์ปจํ
์ด๋๋ฅผ ์ ์งํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด ์ฟ ๋ฒ๋คํฐ์ค ๋ฑ์ ๊ด๋ฆฌ ํด์ด ์ฌ์ฉ๋จ
- docker compose์ ๋ํ ํํํ ์ดํด => ์ฟ ๋ฒ๋คํฐ์ค๋ ์ํ ํ๊ฒ ์ตํ๊ณ ํ์ฉ ๊ฐ๋ฅ
- yaml ๋ฌธ๋ฒ์ผ๋ก ์์ฑ
docker-compose.yml
version: "3"
# ์ปจํ
์ด๋๋ค ์ค์
services:
db:
ย image: mysql:5.7
ย restart: always
ย volumes:
ย ย - ./mysqldata:/var/lib/mysql
environment:
ย - MYSQL_ROOT_PASSWORD=alpha
ย - MYSQL_DATABASE=alphadb
ย # ์๊ฐ์ผ๋ก ํด์ํ์ง ์๊ฒ ์๋ฐ์ดํ ๋ถ์ฌ์ผ
ports:
ย - "3306:3306"restart- ์๋ฒ๋ 24์๊ฐ ๋์ํด์ผ ํ๋ฏ๋ก, ์ธ์ ๋ ๋ค์ด๋ ์ ์๋ค.
- ์ ์ต์ ์ผ๋ก ์ฌ๋งํ ์ผ์ด์ค์์๋ ๊ณ์ ๋์ํ ์ ์๋ค.
volume- docker run ์ต์ ์ค, -v ์ต์ ๊ณผ ๋์ผํ ์ญํ
- ์ฌ๋ฌ volume์ ์ง์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ฆฌ์คํธ์ฒ๋ผ ์์ฑ
v์ต์ ๊ณผ ๋ฌ๋ฆฌ ์๋๊ฒฝ๋ก๋ก ์์ฑ ๊ฐ๋ฅ
environment- Dockerfile์ ENV ์ต์ ๊ณผ ๋์ผํ ์ญํ
- ๋ณดํต
d์ต์ ์ ์ฌ์ฉํ๋ฉฐ,d์ต์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ์ ์๋ฏธํจ
docker-compose up -d- ์ด๋ฏธ์ง ์ฌ๋น๋๊ฐ ํ์ํ๋ค๋ฉด,
build์ต์ ์ ์ถ๊ฐํด์ผํจ- ๊ทธ๋ ์ง ์์ผ๋ฉด, ์ด๋ฏธ ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ฒ ๋จ
docker-compose up -build -d- Docker Compose ์ค์ง ๋ช ๋ น => ๋ชจ๋ ์ปจํ ์ด๋ ์ค์ง๋จ
docker-compose stop- Docker Compose ์์ ์ฌ์ฉํ๋ ์ปจํ ์ด๋ ์ญ์ ๋ช ๋ น
docker-compose downversion: "3"
# ์ฃผ์ ๊ฐ๋ฅ?
services:
app:
ย build:
ย ย context: ./01_FLASK_DOCKER
ย ย dockerfile: Dockerfile
ย links:
ย ย - "db:mysqldb"
ย ports:
ย ย - "80:8080"
ย container_name: appcontainer
ย depends_on:
ย ย - db
db:
ย image: mysql:5.7
ย restart: always
ย volumes:
ย ย - ./mysqldata:/var/lib/mysql
environment:
ย - MYSQL_ROOT_PASSWORD=alpha
ย - MYSQL_DATABASE=alphadb
ports:
ย - "3306:3306"
container_name: dbcontainerbuild- ์ด๋ฏธ์ง๋ฅผ Dockerfile ๊ธฐ๋ฐ์ผ๋ก ์์ฑ์ ์ฌ์ฉ
context- Dockerfile์ด ์๋ ๋๋ ํ ๋ฆฌ
dockerfile- ๋์ปคํ์ผ ํ์ผ๋ช
- ์ด๋ฏธ์ง๋ฅผ Dockerfile ๊ธฐ๋ฐ์ผ๋ก ์์ฑ์ ์ฌ์ฉ
links- ์ปจํ ์ด๋ ๋ด๋ถ์์, ๋ค๋ฅธ ์ปจํ ์ด๋๋ฅผ ์ ์ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ๋ค์ YAML ์ฝ๋์์, db ์ปจํ ์ด๋๋ฅผ app ์ปจํ ์ด๋์์ ์ฌ์ฉํ๊ณ ์ถ์ ๋
.dockerignore.gitignore๋น์ท
depends_on- ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ Docker Compose๋ก ์คํํ ๊ฒฝ์ฐ, ๊ฐ ์ปจํ ์ด๋๊ฐ ์คํ์ ์์ํ๋ ์์ ์ด ๋ค๋ฅผ ์ ์๋ค.
depends_on์ ์ปจํ ์ด๋์ ์คํ ์์๋ฅผ ์ ์ดํ ์ ์๋ค.- ๊ทธ๋ฌ๋, ์ปจํ ์ด๋๊ฐ ready ์ํ๊ฐ ๋ ๋๊น์ง๋ฅผ ๋ช ํํ ์ ์ดํ๋ ๊ฑฐ์จ ์๋๋ฏ๋ก, ๊ธฐ๋ํ๋๋ก ๋์ํ์ง ์์ ์๋ ์์
- docker-compose exec [์ปจํ
์ด๋์ด๋ฆ]
- ์คํ์ค์ธ ์ปจํ ์ด๋์ ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์์.