[docker] 도커 컴포즈 실습 By starseat 2023-01-30 14:16:33 server/oss Post Tags # 실습 목표 - 워드프레스 및 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 작성 파일 ```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: ``` # 출처 - [그림과 실습으로 배우는 도커 & 쿠버네티스](https://wikibook.co.kr/dkkb/) - [실습 파일(github)](https://github.com/wikibook/dkkb/blob/main/sample_files/chapter07/chapter07-03column_WordPress%2BMariaDB/docker-compose.yml) Previous Post [docker] 도커 컴포즈 Next Post [docker] 도커 컴포즈 실행