Jump to SpringBoot를 진행하기 위해 해당 책에서 실습 시 사용할 H2 서버를 로컬에 구성해야 했다. 앞서 MySQL 구성 때 사용했던 docker_test
에 멀티 컴포넌트로 구성했다.
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 이미지 자체의 문제인가 보다...
먼저, docker에서 생성해준 h2 컨테이너에 접속해 터미널을 열어 아래 경로에서 다음과 같이 jar 파일을 실행시켜 준다.
cd /opt/h2/bin
java -cp h2-*.jar org.h2.tools.Shell
java를 실행 시켜주면 [Enter] {...}
라고 입력해야 하는 내용의 예시를 보여준다. 똑같이 쓰거나 조금 바꿔서 설정해주면 설정이 완료된다. 실제 마운팅된 경로에 가면 데이터베이스가 정상적으로 생성된 것도 확인할 수 있다.
Dbeaver에서도 설정해둔 H2 서버 정보와 사용자 정보를 입력했을 때 정상적으로 접속이 되는 것을 확인할 수 있다.