cd ~
mkdir docker-compose
cd docker-compose
vi docker-compose.yaml			#이름은 docker-compose.yaml 또는 docker-compose.yam으로 만들어야한다.
version: '3'
services:
  wpdb:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: dkagh1.
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpadm
      MYSQL_PASSWORD: dkagh1.
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 1000M
    volumes:
      - web-db:/var/lib/mysql
    networks:
      - wp-net
  wpweb:
    depends_on:
      - wpdb
    image: wordpress:5-apache
    restart: always
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: wpdb
      WORDPRESS_DB_USER: wpadm
      WORDPRESS_DB_PASSWORD: dkagh1.
      WORDPRESS_DB_NAME: wordpress
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 500M
    volumes:
      - web-contents:/var/www/html
    networks:
      - wp-net
volumes:
  web-contents:
  web-db:
networks:
  wp-net:
| 단어 | 뜻 | 
|---|---|
| wpdb: | 해당 이미지의 이름으로 나중에 host주소로 바로 연결된다. 하나의 docker-compose 실행 안에서는 기본적으로 네트워크를 공유하고 있기 때문에 이름으로 주소연결이 가능하다. | 
| restart: always | 만약에 wpdb가 꺼지더라도 자동으로 재시작하는 옵션 | 
| environment: | 이미지 설치시 필요한 환경변수들을 설정할 수 있다. | 
| cpus: '0.50' | cpu사용을 제한하는 옵션 | 
| memory: 1000M | 메모리 사용을 제한하는 옵션 | 
| volumes: | 볼륨을 절대경로로 지정해서 영구적으로 사용하게 한다. | 
| networks: | 네트워크를 내가 관리하기 편하게 지정해 줄 수 있고 설정하지 않더라도 같은 compose실행 안에서는 네트워크 공유가 기본값으로 되어있다. | 
| depends_on: | 명시적 의존을 통해 db가 먼저 설치되고 나면 web서버 이미지가 실행된다. | 
| ports: | 80포트를 열어준다는 의미이다. | 
docker compose up -d
docker ps -a


docker compose down -v
### -v 옵션은 docker compose 종료시에 관련된 볼륨도 같이 삭제시켜주는 옵션이다.
### docker compose down하면 컨테이너들도 모두 삭제된다.
