작성
·
840
1
선생님의 Docker강의 정말 많이 도움이 되었습니다 감사합니다.
선생님의 강의를 듣고 응용 차원에서 oracle 11g 이미지 다운받고 spring boot도 build해서 jar파일로 이미지 만들어서
둘다 같은 network에 넣고 컨테이너 실행시켰습니다..
oracle 11g만 컨테이너화하고 pc에서 접속하고 계정만들고 DB사용하면 잘 실행됩니다(1522포트)
근데 springboot 프로젝트를 이미지화한 jar파일을 docker에서 실행시키면
<The Network Adapter could not establish the connection> 이런 오류가 뜹니다..포트번호도 다 확인했는데 쉽지않습니다,,,
똑같은 jar을 pc에서 실행시켰을 때는 docker oracle으로 잘 작동했는데 docker에서 jar을 실행시켰을 경우 안되는거 보니까
뭔가 환경설정이 오류가 있는것 같습니다.. oracle하고 jar파일 run할때는 따로 환경변수를 지정해주지 않았었습니다
혹시 따로 환경변수를 지정해줘야하는지 도움을 청하고자 질문을 적게되었습니다... 초보자라 아직 많이 부족한것 같습니다
구글링도 열심히하고 컨테이너도 이것저것 바꿔보기도하고 이미지도 바꿔보기도하고
반나절동안 영문문서도 많이 읽어보았지만 대부분 mysql이고 Oracle중에서 이런경우는 딱 한가지 봤는데 도움이 되지못했습니다
[Oracle 이미지 실행] (뒤에 docker network connect app oracle11g 로 네트워크에 넣었었습니다)
(test 해보려고 따로 -v는 넣어주지 않았었습니다!)
[Jar 이미지 실행]
oracle driver, username, password, url은 이것을 사용하고 있습니다..
혹시라도 도움 살짝 주시면 정말 감사하겠습니다 선생님...!
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1522:xe
spring.datasource.username= scott
spring.datasource.password= tiger
답변 2
1
1
안녕하세요!
Oracle 도커 컨테이너를 실행할때 -p 1522:1521 을 입력하여 Oracle 도커 컨테이너의 1521포트가 PC의 1522 포트와 연결되었습니다. 따라서 PC에서 localhost(PC 자신):1522로 접속이 가능하고 다른 컨테이너에서 접속하기 위해서는 PC아이피의 1522로 접속해야 합니다.
spring.datasource.url=jdbc:oracle:thin:@localhost:1522:xe 에서 localhost 부분을 PC의 아이피 (ipconfig로 확인)로 변경해보시겠어요?