Spring Boot 앱을 도커로 재 배포시 문제가 생겼다
sml-db (MariaDB) 와 연동이 되지않아 서버 컨테이너가 즉시 종료 되었다
서버로그에는 디비연결이 안되는 Connection refused 가 생성 되었고
디비접속은 문제가 없었다
서버는 계속 localhost:3306으로 시도하다가 꺼져버렸고
이런 설정은 금방 해결 할 수 있을거라 생각했는데 오래 걸렸다

프로퍼티즈는 도커버전이 있고 도커버전에는 컨테이너명이 정확히 명시 되어 있었다

그래서 DB설정은 맞고 컨테이너를 새로 올렸으니 도커네트워크 상 에서 빠져버린 문제일것이라 추측했다
실제 네트워크를 확인해 보니 당연히 서버 컨테이너가 없었고
( --network 속성으로 붙혀 생성돼도 종료된 컨테이너는 보이지 않음 )
몇가지 시도 후 localhost에 접속을 시도 한다는걸 알게되었다
컨테이너속에서 서버만 띄우는것이기때문에 해당 컨테이너의 로컬엔 db가 없다
어플리케이션-도커.프로퍼티즈의 적용이 안된것이며
이를 적용해주며 문제를 해결 했다
application-xxx.properties의 xxx라는 키워드는
SPRING_PROFILES_ACTIVE=XXX
로 지정 할 수 있다 github actions 와 비슷하다
마지막 해결 정리
기존 컨테이너 삭제
docker rm -f sharemylist-app
설정지정 후 다시 빌드,런
socker run -d --name sharemylsit-app`
--network sml-net`
-p 8080:8080`
-e SPRING_PROFILES_ACTIVE=docker`
sharemylsit-app:lastest
상태 확인
docker network inspect sml-net
프로필 "docker"를 명시하지않아 생긴 문제로 상황에따른 올바른 명시가 중요하다
'마구니 패치 노트' 카테고리의 다른 글
| 로컬에서 정상작동하는 페이지가 도커에서 500 반환 (0) | 2026.01.14 |
|---|---|
| 서버 해킹 대응 (0) | 2024.06.01 |
| OCI 리눅스 장애(비정상 정지) 원인 기록,결론 (1) | 2024.03.05 |
| 비밀번호 해싱MD5 > sha256 문제 해결 (0) | 2023.05.19 |
| 서버타임 동기화 (0) | 2023.05.06 |
댓글