우아한 프로그래밍

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"]


profile

우아한 프로그래밍

@자바조아!

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!