2017-12-29 34 views
0

Openshift v3에서 mySQL POD와 연결된 SpringBoot 응용 프로그램을 가져올 수 없습니다. 내가 지금까지 무슨 짓을Openshift v3의 SpringBoot 응용 프로그램과 mysql 연결

:

  • 는 기본 봄 부팅 응용 프로그램 위로 openshift v3에서 실행 얻었다.
  • mysql 애플리케이션이 추가되었습니다. 창은 오류없이 실행됩니다.
  • 추가 내 스프링 부팅 응용 프로그램의 application.properties에서 데이터 소스 구성 :

    spring.datasource.url = JDBC한다 : mysql : // mysql을 : 3306/$ {MYSQL_DATABASE} \ spring.datasource.username = $ {MYSQL_USER} spring.datasource.password = $ {MYSQL_PASSWORD} 명령을 실행하여 MySQL의 DB와

  • 연결 스프링 부팅 응용 프로그램 :

O를 C ENV 직류 shoppinglist -e MYSQL_USER = dbuser에 -e MYSQL_PASSWORD = dbpassword -e MYSQL_DATABASE = shoppingdb

deploymentconfig "shoppinglist는"그러나

업데이트가와 MySQL의 DB를 액세스 할 수 없기 때문에, 스프링 부팅 포드가 충돌한다 주어진 사용자 :

2017-12-29 13:35:00.806 ERROR 1 --- [   main] 
o.a.tomcat.jdbc.pool.ConnectionPool  : Unable to create initial 
connections of pool. java.sql.SQLException: **Access denied for user 
''@'172.17.0.7'** (using password: YES) 

어떻게 든 사용자 이름은 손실됩니다. 내 OC 환경에서 뭔가 위드라고 생각해? 나는 접착제가 없습니다 ...

나는 지금까지 무엇이 잘못되었으며 어떤 도움을 주셔서 감사합니다. 감사!

+0

env 변수를 추가 한 후 포드를 재배포합니까? env 변수는 즉시 설정되지 않기 때문에 새로운 배치 후에 만 ​​새 구성을 선택합니다. –

+0

배포 구성에서 환경 변수를 설정하면 정상적인 경우 자동 다시 시작이 트리거됩니다. 문제는''application.properties''에서 환경 변수 참조가 확장되는지 여부입니다. 어쨌든''oc debug dc shoppinglist''를 실행하고 셸 프롬프트에서''env''를 실행하여 환경 변수가 첫 번째 단계로 컨테이너에 전달되었는지 확인하십시오. –

+0

재배포했지만 결과는 변경되지 않습니다. – Tom

답변

0

새해 복 많이 받으세요! 그리고 제 문제에 대한 해결책을 찾는데 저를 지원 해주신 모든 분들께 감사드립니다. 나는 많은 것을 배웠지 만, 마지막에 내 application.properties 단지 오타했다 :

spring.datasource.url=jdbc:mysql://mysql:3306/${MYSQL_DATABASE}\ 

그것은 propably 복사 및 붙여 넣기 문제 (embarissing ..)이었다 내가 {MYSQL_DATABASE}백 슬래시를를 감독 한 항상.

도움을 주셔서 다시 한 번 감사드립니다!