[개발환경 구성] Docker로 H2 서버 구성

DYKO·2023년 1월 15일
0

개발환경구성

목록 보기
3/3

Jump to SpringBoot를 진행하기 위해 해당 책에서 실습 시 사용할 H2 서버를 로컬에 구성해야 했다. 앞서 MySQL 구성 때 사용했던 docker_test에 멀티 컴포넌트로 구성했다.


1. H2 컨테이너 생성

Docker Hub에서 H2 이미지 정보 보기

H2 이미지를 가져오기 위해 docker-compose.yml 파일에 아래와 같이 H2 컨테이너 설정을 추가해준다.

jump-to-db:
    image: oscarfonts/h2:latest
    container_name: h2-dev
    restart: always
    ports:
      - "1521:1521"
      - "8081:81"
    environment:
      H2_OPTIONS: -ifNotExists
    volumes:
      - /Users/Shared/data/h2-dev:/opt/h2-data

이후, 기존에 배포되어 있는 docker_test에 변경된 docker-compose.yml을 적용하기 위해 아래 명령어를 입력한다.

docker-compose up --build --force-recreate -d

위에서 설정해준 h2-dev가 생성이 됐다. 근데 옆에 AMD64 경고 메세지가 뜬다... 마우스를 올리니 "Image may have poor performance, or fail, if run via emulation" 라는 메세지가 표시된다.
Mac 실리콘 칩 문제인가 싶어 --platform linux/amd64 옵션을 넣어줘봤는데도 동일하다. 다른 분들이 도커에 실행한 h2 이미지를 보니 h2 이미지 자체의 문제인가 보다...

2. H2 서버 기본환경 설정

H2 실행방법 가이드

먼저, docker에서 생성해준 h2 컨테이너에 접속해 터미널을 열어 아래 경로에서 다음과 같이 jar 파일을 실행시켜 준다.

cd /opt/h2/bin
java -cp h2-*.jar org.h2.tools.Shell

java를 실행 시켜주면 [Enter] {...} 라고 입력해야 하는 내용의 예시를 보여준다. 똑같이 쓰거나 조금 바꿔서 설정해주면 설정이 완료된다. 실제 마운팅된 경로에 가면 데이터베이스가 정상적으로 생성된 것도 확인할 수 있다.

Dbeaver에서도 설정해둔 H2 서버 정보와 사용자 정보를 입력했을 때 정상적으로 접속이 되는 것을 확인할 수 있다.


profile
엔지니어가 되는 그 날 까지!

0개의 댓글