Docker - Oracle / Spring Boot 연결
오라클 설치
docker pull orcacleinanutshell/oracle-xe-11g
오라클 컨테이너 설치
docker run -d --name mydb -p 40000:1521 -e TZ=Asia/Seoul oracleinanutshell/oracle-xe-11g
// TZ : timezone 설정
오라클 컨테이너로 쿼리 파일 복사
- 미리 전달해주신 파일을 컨테이너로 복사했다.
- dockerdb.sql
- 나는 D 드라이브에 넣어놓고 복사를 진행했다.
docker cp d:\dockerdb.sql mydb:/root
오라클 컨테이너 접속 후 테이블 생성
1) oracle develpoer에서 접속.
-
2) 비밀번호는 oracle이었는데 docker hub에서 oracle-xe 검색해서 보면 해당 비밀번호가 나온다.
-
3) SYSTEM_mydb 계정으로 들어가서 계정 생성.
-
4) webmaster 계정 생성. port번호 4000 잊지 말기.
-
5) 앞서 만들었던 webmaster에서 테이블 생성.
Tomcat 컨테이너 설치
docker run -d --name myweb -p 80:8080 -e TZ=Asia/Seoul --link mydb:db tomcat:8.5.72-jdk8
이미지와 같이 연결해주는 거라고 함.. myweb 컨테이너에서 mydb를 db로 부르겠다! 하는 설정.
Tomcat 컨테이너로 war 파일 복사
docker cp d:\ROOT.war myweb:/usr/local/tomcat/webapps
- 리눅스에 톰캣이 설치된 경로임
- 여기에 war를 넣어줌.
docker exec myweb ls /usr/local/tomcat/webapps
명령어 ls 뒤에 /usr/local/tomcat/webapps 경로를 입력해서
잘 복사되었는지 확인한다.
docker exec myweb ls /usr/local/tomcat/webapps/ROOT
여기까지 입력하면 압축 해제된 파일도 볼 수 있다. 압축된 war파일을 톰캣이 알아서 풀어서 쓴다고 한다.
Host PC IP주소로 웹 접속
- http://IP주소/main
http://localhost/main으로 접속했다.
로그인, 회원가입도 가능하다.
회원가입하면 DB에 추가도 된다.. 왕신기.
Spring Boot 실행 시키기
전달해주신 .jar파일(java application) 실행 시키기…
srping boot 구동을 위해서는 jdk나 jre만 있으면 됨. tomcat은 내장되어 있기 때문에.
-
docker run -it --name boot-web -p 8088:8088 openjdk:11 /bin/bash
이미지 또 잘렸지만 /bib/bahs 없이 하면 jshell로 열리기 때문에 추가해줌.
-
docker cp d:\05_SpringBoot_MVC-0.0.1-SNAPSHOT.jar boot-web:/root
.jar파일 복사하고.. 아까 그 /bin/bash 열었던 창에서 잘 복사되었는지 확인.
-
java -jar 05_SpringBoot_MVC-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
8088로 잘 되었는지 확인할 것. 이미지에는 잘렸지만 밑에 로그에서 확인해야한다.
-
localhost:8088 접속.
shell에 로그도 계속 찍힌다.
[Ctrl + C] 입력하면 빠져나온다.(Shutdown)
두번째 해보는 건데도 머리속에 잘 안 그려지네.. 명령어 너무 신기하다..
수업 끝나고 처음부터 한번씩 다시했는데 역시나.. 잘 모르겠다.
몇 번 해야돼?? 그리고 중간부터 하려면 더 모르겠다.ㅠㅠㅠ
지금 4번째 해보는데도 내일 되면 또 까먹을 거 같다. 왜냐면 4번째인 오늘도 잘 생각이 안났기 때문에.^^