본문 바로가기
카테고리 없음

Docker compose

by 신방동불주먹 2024. 4. 9.

 

docker compose.yml 파일로 여러 컨테이너를 한 번에 관리한다. 

 

1. Dockerfile 과 같은 루트 경로에 docker-compose.yml 파일 생성.


services:
  springboot-mysql:
    container_name: springboot-mysql
    platform: linux/amd64
    image: mysql:8.0.28
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: pds
      MYSQL_ROOT_HOST: '%'
      MYSQL_ROOT_PASSWORD: 1234
      TZ: 'Asia/Seoul'
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-init.d:/docker-entrypoint-initdb.d
    networks:
      - springboot-mysql-net

  test-springboot:
    container_name: test-springboot
    restart: on-failure
    platform: linux/amd64
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - "8090:8090"
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://springboot-mysql:3306/pds
      SPRING_DATASOURCE_USERNAME: "root"
      SPRING_DATASOURCE_PASSWORD: "1234"
    depends_on:
      - springboot-mysql
    networks:
      - springboot-mysql-net

networks:
  springboot-mysql-net:

volumes:
  spring-mysql:
    driver: local