[docker] 도커 컴포즈 실습
실습 목표
-
워드프레스 및 MySQL 컨테이너 컴포즈 파일 작성
-
depends_on
항목을 추가해의존 관계
설정 -
주 항목 설정 > 이름 작성 > MySQL 컨테이너 정의 작성 > 워드프레스 컨테이너 정의 작성
실습 정보 정의
-
생성할 네트워크, 볼륨, 컨테이너 정보
항목 | 값 |
---|---|
네트워크 | wordpress000net01 |
MySQL 볼륨 | mysql000vol01 |
MySQL 컨테이너 | mysql000ex01 |
워드프레스 볼륨 | wordpress000vol01 |
워드프레스 컨테이너 | wordpress000ex01 |
-
MySQL 컨테이너 정의 (mysql000ex01) - MySQL v5.7 용
항목 | 이름 | 값 |
---|---|---|
MySQL 이미지 | image: | mysql:5.7 |
사용할 네트워크 | networks: | wordpress000net01 |
사용할 볼륨 | volumes: | mysql000vol01 |
마운트 위치 | /var/lib/mysql | |
재시작 설정 | restart: | always |
MySQL 설정 | environment: | * 이 붙은 항목 |
* MySQL 루트 패스워드 |
MYSQL_ROOT_PASSWORD | myrootpass |
* MySQL 데이터베이스 이름 |
MYSQL_DATABASE | wordpress000db |
* MySQL 사용자 이름 |
MYSQL_USER | wordpress000user |
* MySQL 패스워드 |
MYSQL_PASSWORD | wordpress000pass |
-
워드프레스 컨테이너 정의 (wordpress000ex01)
항목 | 이름 | 값 |
---|---|---|
의존관계 | depends_on: | mysql000ex01 |
워드프레스 이미지 | image: | wordpress |
사용할 네트워크 | networks: | wordpress000net01 |
사용할 볼륨 | volumes: | wordpress000vol01 |
마운트 위치 | /var/www/html | |
포트 번호 | port: | 8085:80 |
재시작 설정 | restart: | always |
데이터베이스 관련 정보 | environment: | * 이 붙은 항목 |
* 데이터베이스 컨테이너 |
WORDPRESS_DB_HOST | mysql000ex01 |
* 데이터베이스 이름 |
WORDPRESS_DB_NAME | wordpress000db |
* 데이터베이스 사용자 이름 |
WORDPRESS_DB_USER | wordpress000user |
* 데이터베이스 패스워드 |
WORDPRESS_DB_PASSWORD | wordpress000pass |
docker-compose.yaml 작성 파일
version: "3"
services:
mysql000ex01:
image: mysql:5.7
networks:
- wordpress000net01
volumes:
- mysql000vol01:/var/lib/mysql
restart: always
# MySQL 8.0 사용하기 위한 추가 정보
#command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-autyhentication-plugin=mysql_native_password
enviroment:
MYSQL_ROOT_PASSWORD: myrootpass
MYSQL_ROOT_DATABASE: wordpress000db
MYSQL_USER: wordpress000user
MYSQL_PASSWORD: wodpress000pass
wordpress000ex01:
depends_on:
- mysql000ex01
image: wordpress
networks:
- wordpress000net01
volumes:
- wordpress000vol01:/var/www/html
ports:
- 8085:80
restart: always
enviroment:
WORDPRESS_DB_HOST: mysql000ex01
WORDPRESS_DB_NAME: wordpress000db
WORDPRESS_DB_USER: wordpress000user
WORDPRESS_DB_PASSWORD: wordpress000pass
networks:
wordpress000net01:
volumes:
mysql000vol01:
wordpress000vol01: