Docker를 이용하면 로컬에 DB를 설치하지 않고도 데이터베이스를 사용할 수 있다.
Docker로 MySQL, MariaDB 등의 DB 띄우는 법을 알아보자.
Docker Desktop이 설치되어 있다는 가정 하에 진행한다.
🔗 Docker Desktop 설치 방법
예시에서는 MariaDB를 사용했다. MySQL을 사용하고 싶다면, MariaDB 부분을 전부 MySQL로 수정해주면 된다.
너무 쉽고 편리하잖아?
DB_HOST=localhost
DB_PORT=3306
DB_NAME={DB 이름 입력}
DB_USER={사용자명 입력}
DB_PASSWORD={패스워드 입력}
version: "3.9"
services:
mariadb:
image: mariadb:latest
container_name: project-mariadb
ports:
- ${DB_PORT}:${DB_PORT}
restart: always
environment:
MARIADB_DATABASE: ${DB_NAME}
MARIADB_ROOT_PASSWORD: ${DB_PASSWORD}
volumes:
- mariadb-vl:/var/lib/mariadb
volumes:
mariadb-vl:
driver: local
spring:
application:
name: resource-server
# .env import
config:
import: optional:file:.env[.properties]
datasource:
url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_NAME}
username: ${DB_USER}
password: ${DB_PASSWORD}
driver-class-name: org.mariadb.jdbc.Driver
jpa:
open-in-view: true
hibernate:
ddl-auto: create # 서버 실행 시 DB의 모든 테이블 삭제 후 재생성
naming:
use-new-id-generator-mappings: false
show-sql: true
properties:
hibernate:
id:
new_generator_mappings: true
format_sql: true
dialect: org.hibernate.dialect.MariaDBDialect
defer-datasource-initialization: true # (2.5~) Hibernate 초기화 이후 data.sql 실행
+ Ports are not available 오류 발생 시 해결 방법
🔗 https://velog.io/@ryuneng2/Docker-도커-실행-오류-Ports-are-not-available-해결-방법