docker와 h2 연결하기

slee2·2022년 6월 5일
0

main

목록 보기
11/12
post-thumbnail

사전 준비

  • docker 설치 및 실행 가능 환경

docker에 h2 연결하기

$> docker run -d -p 1521:1521 -p 8081:81 -v /Users/seungjulee/study/h2/makeHere:/opt/h2-data -e H2_OPTIONS="-ifNotExists" --name=h2 oscarfonts/h2
# 도커에 h2 이미지를 다운하고 컨테이너를 생성
  • d : 도커 컨테이너를 백 그라운드로 실행
  • p : 컨테이너와 로컬의 포트를 연결하는 옵션
  • v : DB 저장 경로 (/Users/seungjulee/study/h2/makeHere 부분을 본인이 실제 저장할 경로를 넣으면 된다.)
  • H2_OPTIONS="-ifNotExists" - 이 옵션을 설정해야 내부에서 H2 데이터베이스를 새로 생성할 수 있다.
  • name : 이름을 정해주는 옵션. 이 옵션이 없으면 도커가 임의로 짓게 된다.

실행하게 되면 이미지 다운과 함께 도커 실행까지 완료된 것을 확인할 수 있다.

$> docker exec -it h2 /bin/bash

exec : 구동중인 컨테이너 내부로 진입
-it : bash 권한으로 명령을 실행하기 위한 옵션

h2 내부로 진입한다.

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

내부 컨테이너에서 /opt/h2/bin/으로 이동하면 파일이 여러개 있는데 그중에 .jar 파일을 지정해준다.

-cp : cp 옵션으로 사용할 jar파일들을 지정해주고, 시작할 main 메소드가 있는 클래스의 클래스패스를 입력해준다.

java 관련 옵션은 h2 공홈에서 나와있는 실행 방법이다.

http://www.h2database.com/html/tutorial.html#creating_new_databases

org.h2.tools.Shellmain 메서드가 포함된 클래스이므로, .jar 이름은 바뀔 수 있지만, 뒤 .Shell 이름은 바뀌면 안된다.

처음에 예시를 보여주므로, 해당 예시를 복사한 후에 밑에 붙여놓고 원하는 걸로 조금씩 바꾸면 된다.

localhost:8081

접속이 된것을 확인할 수 있다.

DB도 경로에 잘 생성된 것을 확인할 수 있다.

0개의 댓글