Docker-Compose
Install
apt-get -y install docker-compose
Config
์ผ๋ฐ์ ์ธ ๊ตฌ์ฑ
docker-compose๋ docker-compose.yml or docker-compose.yamlํ์ผ์ ๋ด์ฉ์ ๋ถ๋ฌ์ ์๋น์ค๋ฅผ ์คํ์ํจ๋ค. ๋ฐ๋ผ์ ์๋์ ๊ฐ์ด docker-compose.yml ํ์ผ์ ์์ฑํ๋ค.
version: "3" services: mynginx: image: nginx # docker run --name ์ต์ ๊ณผ ๋์ผ ports: - "7676:80" # docker run -p ์ต์ ๊ณผ ๋์ผ {host-port}:{container-port} volumes: # docker run -v ์ต์ ๊ณผ ๋์ผ {host-dir}:{container-dir} mount - "/data:/usr/share/nginx/html"
Dockerfile์ ํ์ฉํ ๊ตฌ์ฑ
Dockerfile์ด
docker-compose up -d
ํ๋ ์์น์ ๋์ผํ๊ฒ ์๋ ๊ฒฝ์ฐversion: "3" services: mynginx: image: nginx ports: - "7575:80" volumes: - "/data:/usr/share/nginx/html" build: context: . dockerfile: db-Dockerfile
Dockerfile์ ์ด๋ฆ๊ณผ ํ์ผ์์น๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ
version: "3" services: mynginx: image: nginx ports: - "7575:80" volumes: - "/data:/usr/share/nginx/html" build: context: . dockerfile: db-Dockerfil
docker-compose ์คํ, ๊ด๋ฆฌ ๋ช ๋ น์ด
docker-compose ํ์ผ ๋น๋ํ๊ธฐ
docker-compose up -d
ํ์ฌ ๋๋ ํฐ๋ฆฌ ๋ด docker-compose.ymlํ์ผ์ ์ฐพ์ ์ ์๋ ๊ตฌ์ฑ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์คํ์ํจ๋ค.
docker-compose ์ํ ํ์ธํ๊ธฐ
docker-compose ps
ํ์ฌ docker-compose์ ์คํ ๋๊ณ ์๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋ค.
docker-compose ์ค์งํ๊ธฐ
docker-compose down
์ค์ต
yaml ํ์ผ ์ ์
root@ununtu:/compose/wp# tree โโโ DB_Dockerfile โโโ docker-compose.yml โโโ Wpfile
docker-compose.yml
version: "3" services: wp: build: context: . dockerfile: Wpfile expose: - "80" ports: - "7777:80" db: build: context: . dockerfile: DB_Dockerfile volumes: - "/mdb:/var/lib/mysql"
DB_Dockerfile
FROM mariadb ENV MYSQL_ROOT_PASSWORD=1234 \ MYSQL_DATABASE=wordpress \ MYSQL_USER=wpuser \ MYSQL_PASSWORD=1234
Wpfile
FROM wordpress ENV WORDPRESS_DB_HOST=db ENV WORDPRESS_DB_USER=wpuser ENV WORDPRESS_DB_PASSWORD=1234 ENV WORDPRESS_DB_NAME=wordpress
docker-compose up -d
docker-compose ๋ด ์ ์๋ ์ปจํ ์ด๋ ๋ผ๋ฆฌ๋ links: depends_on: ์ต์ ์ ์ฃผ์ง ์์๋ ์ปจํ ์ด๋ ์ด๋ฆ์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค.
Docker-compose scale
docker-compose๋ฅผ ํตํด ์ปจํ ์ด๋์ ์๋ฅผ ์ง์ ํ ์ ์๋ค.
Auto-scaling์ ํธ๋ํฝ ์ํ์ ๋ฐ๋ผ ์์์ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๊ณ , ๋ฐฉ์์ผ๋ก๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค.
scale up : ๋ฆฌ์์ค ์ฆ๊ฐ
scale out : ์๋ฒ์ ๊ฐฏ์๊ฐ ์ฆ๊ฐ
docker-compose๋ฅผ ํตํด ์์ฑํ container์ scale์ ์กฐ์ ํ๋ ๋ช ๋ น์ด
docker-compose up --scale {container-name}={num} -d
docker-compose up --scale app=3 -d
์์ ๊ฐ์ ๋ช ๋ น์ด ์คํ ์ app์ปจํ ์ด๋ 3๊ฐ๊ฐ ์คํ๋๋ค.
'ํด๋ผ์ฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[k8s] Pod์ ์์ ์ ์ธ ์ ์ง - liveness probe (0) | 2023.10.22 |
---|---|
[devops] Argo project๋ก CI/CD Pipeline ๊ตฌํํ๊ธฐ (0) | 2023.07.26 |
[Docker] Centos์ด๋ฏธ์ง ๊ธฐ๋ฐ httpd ์๋น์ค ๊ตฌ์ฑํ๊ธฐ (0) | 2023.07.14 |
[Docker] Docker๋ก ์ปจํ ์ด๋ ๋ฐฐํฌํ๊ธฐ (0) | 2023.07.14 |
[Terraform] ํ ๋ผํผ - AWS - ์ค์น (0) | 2023.07.03 |