[Docker] 4. docker-compose (WordPress 사이트 구축하기)

Jk Lim·2023년 7월 3일
0

MLOps 부트캠프

목록 보기
34/34
post-thumbnail

1. docker-compose

  • 다수의 컨테이너를 원하는 설정으로 쉽게 생성하고 관리 할 수 있는 기능
  • docker-compose.yml 파일로부터 정보를 얻어 컨테이너를 생성한다.
# docker-compose 설치
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose # 파일 실행 권한 부여
docker-compose --version # 버전 확인
docker-compose --version # 버전확인
# 예제
mkdir ~/web
cd ~/web
vim docker-compose.yml
# docker-compose.yml
version: '3'
services:
  service1:
    image: httpd
    ports:
      - "8000"

  service2:
    image: httpd
    ports:
      - "80:80"

docker rm -f $(docker ps -qa) # 현재 실행중인 컨테이너 전부 삭제
docker-compose up -d
docker-compose ps

# 스케일 옵션. 컨테이너 개수를 여러개로 만들 수 있음
docker-compose scale service1=3
# 모든 컨테이너 중지
docker-compose stop
docker-compose kill
# 모든 컨테이너 시작
docker-compose start
# 모든 컨테이너 중지하면서 삭제
docker-compose down -v

(실습) docker-compose를 사용해 WordPress 사이트 한번에 구축하기.

  • docker-compose를 이용하여 wordpress를 설치해서 웹사이트 접속
# docker-compose.yml
version: '3'
services:
  db:
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=qwer1234
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=qwer1234
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=qwer1234
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:
  wp_data:

####################
# docker-compose 실행
docker-compose up -d
# 실행상태 확인
docker-compose ps

0개의 댓글