docker-compose 파일 정리

강진구·2024년 4월 18일

Docker

목록 보기
7/7
version: '3'
services:
  db:
    build:
      context: ./docker-test-db
      dockerfile: Dockerfile
    ports:
      - 3306:3306
    volumes:
      - ./docker-test-db/store:/var/lib/mysql
    networks:
      - network
  server:
    build:
      context: ./docker-test-server
      dockerfile: Dockerfile
    restart: always
    ports:
      - 8080:8080
    depends_on:
      - db
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/metadb?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true
      SPRING_DATASOURCE_DRIVER: com.mysql.cj.jdbc.Driver
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: root1234
    networks:
      - network

networks:
  network:
  • services:
    db: 이 섹션에서 db 서비스 정의

  • build: db 서비스의 이미지 빌드 구성

  • context:빌드를 위한 dockerfile이 있는 경로 지정

  • dockerfile: 사용할 도커파일의 이름 지정

  • ports: 호스트(로컬) 의 3306 포트를 컨테이너의 3306 포트로 매핑

  • volumes: 호스트의 ./docker-test-db/store 디렉토리를 컨테이너의 /var/lib/mysql 디렉토리로 매핑

  • networks: 'network'라는 이름의 네트워크에 연결

  • restart: always: 컨테이너 재시작 정책을 '항상' 으로 설정

  • depends_on: 'db' 서비스를 먼저 시작

  • environment: 데이터베이스 연결 URL, 드라이버, 사용자 이름, 암호 등의 환경 변수를 설정

    → 자세히 보면 ip주소가 아닌 db로 되어있다

profile
기록하고,발전하자

0개의 댓글