Docker compose로 Wordpress 배포

강재민·2022년 5월 12일
0

Docker

목록 보기
7/7
post-thumbnail

Docker 설치


docker-compose.yaml

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 실행

docker compose up -d
docker ps -a

Wordpress 접속



docker compose 종료

docker compose down -v

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

0개의 댓글