공식문서에 따르면,
docker compose는 여러개의 컨테이너를 실행시키는 docker application을 위한 tool이다. yaml파일을 이용해서application의 서비스를 구성할 수 있고, 컨테이너의 실행 옵션, 컨테이너 간의 실행 순서나 의존성도 관리할 수 있다.
크게 3가지 스텝으로 compose를 사용한다.
Dockerfile에 만드려는 application의 환경 정의
docker-compose.yml 파일에 application을 만드는 service 정의 -> 독립된 환경에서 실행 가능
docker compose up 명령어 실행
-> docker compose가 전체 application 실행
Docker 공식 문서 중 Install Docker Compose를 참고해서 설치한다.
사용중인 OS에 맞춰서 설치하면 되는데, 나는 ec2 ubuntu machine안에 설치하기 때문에 Linux 선택 !
현재 Stable version의 docker-compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
권한 주기
sudo chmod +x /usr/local/bin/docker-compose
설치가 완료되었음을 알 수 있다.
Docker 공식 문서의 Compose and WordPress를 참고했다.
mkdir my_wordpress
cd my_wordpress
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
실행중인 컨테이너가 있다면 sudo docker rm -f
를 이용해서 지우고, docker-compose up
을 수행한다.
sudo docker-compose up -d
위와 같이 서비스를 실행해준다.
컨테이너가 잘 돌고있음!
ec2의 퍼블릭 IPv4주소:{설정한 포트}로 접속해본다. docker-compose.yml에 8080포트로 설정해놨으므로 퍼블릭 IPv4주소:8080
으로 접속 !
자라란,,,
언어는 적절하게,, 영어나 한국어로 설정해주고 정보를 입력 후 로그인!
하면 이렇게 dashboard가 나온다.