컬쥐네 다락방

Docker | Docker Compose 본문

클라우드/Docker

Docker | Docker Compose

코딩하는 갱얼쥐 2022. 5. 17. 02:44

Docker Compose

Docker Compose는 Docker의 IaC와 같은 것으로 yaml 코드로 컨테이너 설정을 기록해두는 것이다.

docker-compose 명령어를 사용했으나 최근 docker compose로 변경되었다.
파일 확장자로는 docker-compose.yaml 또는 docker-compose.yml을 사용한다.

실행

docker compose up -d

프로젝트 목록 확인

docker compose ls

서비스 목록(컨테이너)

docker compose ps

삭제

docker compose down
  • 도커 컴포즈로 배포한 컨테이너는 서로 이름으로 통신이 가능하다.

docker compose를 사용한 wordpress 배포


version: "3"

services:
  wp-db:  #서비스명
    image: mysql:5.7  #이미지
    restart: always  #도커를 종료했다가 실행할 때 재시작 여부
    environment:  #환경변수
      MYSQL_ROOT_PASSWORD: P@ssw0rd
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpadm
      MYSQL_PASSWORD: P@ssw0rd
    volumes:  #연결할 볼륨
      - wp-db-vol:/var/lib/mysql
    networks:  #연결할 네트워크
      - wp-net

  wp-web:
    depends_on:  #의존성 부여
      - wp-db
    image: wordpress:5-apache
    restart: always
    environment:
      WORDPRESS_DB_HOST: wp-db
      WORDPRESS_DB_USER: wpadm
      WORDPRESS_DB_PASSWORD: P@ssw0rd
      WORDPRESS_DB_NAME: wordpress
    ports: #포트포워딩
      - "80:80"
    volumes:
      - wp-web-vol:/var/www/html
    networks:
      - wp-net

volumes:
  wp-db-vol:
  wp-web-vol:

networks:
  wp-net:

실행


docker compose up -d
[+] Running 5/5
 ⠿ Network wp_wp-net       Created                                                                                0.1s
 ⠿ Volume "wp_wp-web-vol"  Created                                                                                0.0s
 ⠿ Volume "wp_wp-db-vol"   Created                                                                                0.0s
 ⠿ Container wp-wp-db-1    Started                                                                                0.8s
 ⠿ Container wp-wp-web-1   Started                                                                                1.9s

실행 결과 확인


docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED              STATUS              PORTS
                     NAMES
fdd8be34c10d   wordpress:5-apache     "docker-entrypoint.s…"   13 seconds ago       Up 11 seconds       0.0.0.0:80->80/tcp, :::80->80/tcp   wp-wp-web-1
fffd1a0e678f   mysql:5.7              "docker-entrypoint.s…"   13 seconds ago       Up 12 seconds       3306/tcp, 33060/tcp                 wp-wp-db-1

'클라우드 > Docker' 카테고리의 다른 글

Docker | 이미지 빌드  (0) 2022.05.16
Docker | 볼륨 설정  (0) 2022.05.16
Docker | 네트워크 설정  (0) 2022.05.16
Docker | 기초 개념  (0) 2022.05.04
Comments