[도커] ECS 빌드&mongodb 트러블 슈팅

문제 파악

백앤드 서버와 몽고 DB 작업정의를 기반으로 ECS 서비스를 실행했는데, backend 컨테이너가 특히 계속 Stop 후 pending 후 running 이 잠시 되었다가 반복이 된다.


해결과정

CloudWatch

클라우드 와치에서 backend 컨테이너의 로그를 확인해 보았다.
standard_init_linux.go:228: exec user process caused: exec format error
이런 메세지가 표시가 되는데, 전혀 단서가 안잡힌다. 스택 오버플로에서는 완전 나와 다른 방식인데 해결한거 같고...
근데 뭔가 직감적으로 빌드에서 잘못되었다는 생각이 들었다.

오... 뭔가 해결 할 단서가 나왔다! 내가 빌드를 할때 --platform amd64 옵션을 주지 않고, 빌드를 해서 일어난 오류 이벤트인 것 같았다.

docker build --platform amd64 -t node-app ./backend
docker tag node-app crowssnest/node-app
docker push crowssnest/node-app

이렇게 빌드할 때 --platform amd64 옵션을 주고 빌드해서 도커허브에 푸쉬했다.
그리고 작업정의를 업데이트 해서 서비스에 반영을 해보았다 .

오 뭔가 체감상 backend서버가 조금 더 RUNNING 이 되는 시간이 긴 것 같다. (아직 해결은 못했지만 ㅜㅜ)

클라우드 와치에서 로그를 다시 확인 해보니, 이번에는 아까보다 더 많이 표시가 되는걸 보니 처음 봤던
standard_init_linux.go:228: exec user process caused: exec format error

이 메세지의 오류는 해치운 것 같다.
그리고 해치워야하는 새로운 메세지는
codeName: 'AuthenticationFailed'
MongoError: Authentication failed.
FAILED TO CONNECT TO MONGODB
간단히 추측하기로는 mongodb 연결이 안되어서 인증이 안되는 오류로 보인다.

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Study/Docker 다른 글

    이전 글

    다음 글