1. 사용방법
#도커 컨테이너 기동
docker-compose up -d
#도커 컨테이너 기동 ( 배포 후 빌드 / Dokcerfile 필수)
docker-compose up -d --build
#도커 컨테이너 종료
docker-compose stop
#도커 특정 컨테이너 접근
docker-compose -i -t <컨테이너명> /bin/bash
#도커 이미지 검색
docker search <이미지명>
#도커 실행중인 컨테이너 목록
docker ps
2. docker-compose.yml
version: '3.7'
services:
db:
image: mysql
volumes:
- "db-data:/var/lib/mysql"
restart: always
command: mysqld --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: dnfdb
ports:
- '3306:3306'
tomcat:
image: tomcat:latest
environment:
- "JAVA_OPTS=-Dspring.profiles.active=dev"
build:
context: .
dockerfile : Dockerfile-tomcat
ports:
- "80:8080"
volumes:
- ./target/dnf-api-0.0.1-SNAPSHOT.war:/usr/local/tomcat/webapps/ROOT.war
links:
- db
restart: always
volumes:
db-data:
2. Dockerfile-tomcat
아래 작업을 해주는 이유는 도커 컨테이너는 항상 순수형태로 올라가기 때문에 ROOT 폴더가 존재한다. 그래서 "/" 경로로 올리고 싶다면 컨테이너가 생성된후 -> DockerFile 스크립트를 실행해서 ROOT 폴더를 제거해 주는 것이다.
FROM tomcat:latest
# Delete existing ROOT folder
RUN ["rm", "-rf", "/usr/local/tomcat/webapps/ROOT"]