Docker compose(도커 컴포즈)란?
복수 개의 컨테이너를 실행시키는 도커 애플리케이션을 정의하기 위한 툴이다.
도커 컴포즈를 이용해, DB와 Wordpress 두개의 컨테이너를 만들어 실행해서 워드프레스를 설치해보도록 하겠다.
시작 전에 도커 컴포즈가 설치되어 있어야 한다. https://docs.docker.com/compose/install/
프로젝트 정의
1. 빈 프로젝트 디렉토리를 생성한다.
디렉토리 명은 편한것으로 만들면 된다. 이 디렉토리 안에 docker-compose.yml 파일을 저장할 것이다.
2. 방금 만든 디렉토리 안으로 이동한다.
예를 들어, my_wordpress라는 폴더를 만들었다면 아래 명령으로 해당 디렉토리 안으로 이동 가능하다 :
$ cd my_wordpress/
3. 아래의 내용으로 docker-compose.yml 파일을 생성한다. (워드프레스 블로그와, 볼륨 마운드를 한 별도의 MySQL 인스턴스를 생성할 수 있는 스크립트이다.)
services:
db:
# We use a mariadb image which supports both amd64 & arm64 architecture
image: mariadb:10.6.4-focal
# If you really want to use MySQL, uncomment the following line
#image: mysql:8.0.27
command: '--default-authentication-plugin=mysql_native_password'
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=somewordpress
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
expose:
- 3306
- 33060
wordpress:
image: wordpress:latest
ports:
- 80:80
restart: always
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
- WORDPRESS_DB_NAME=wordpress
volumes:
db_data:
프로젝트 빌드
프로젝트 디렉토리 안에서 아래 명령을 실행한다.
$ docker compose up -d
위 명령은 docker compose up 을 detached mode로 실행하고, 도커 이미지를 가져오고, 워드프레스와 데이터베이스 컨테이너를 시작한다.
브라우저에서 워드프레스 접속 및 설치
이제, 워드프레스가 도커 호스트의 80 포트에서 동작한다. 브라우저로 접속해보면, 설지 시작 화면을 볼 수 있다.
도커가 로컬호스트에 설치되어 있다면, 브라우저 주소창에 http://localhost 를 입력하면 접속 가능하다.
원격 서버에 설치되어 있다면, localhost 대신 서버의 ip 주소나, 도메인명을 입력하면 된다.
종료 및 삭제
컨테이너와 기본 네트워크를 종료하지만 워드프레스 데이터베이스를 남기고 싶다면 docker compose down 명령을 입력한다.
컨테이너, 기본 네트워크, 데이터베이스까지 모두 삭제하고 싶다면 docker compose down --volumes 명령을 입력한다.
참고
https://docs.docker.com/samples/wordpress/
'IT 소프트웨어 (툴) > 도커(Docker)' 카테고리의 다른 글
[Docker] 도커 명령어 (0) | 2023.07.28 |
---|---|
[도커] AWS EC2 Ubuntu에 docker, docker-compose 설치하기 (0) | 2023.07.25 |