환경: AWS EC2


목적: 2개의 도커 컨테이너로 각각 플라스크 마리아db 구축 및 연결

위 플라스크
아래 마리아db


문제: 웹서버 호스팅에 이상 없으나 DB 상호작용시 오류 발생

docker log 오류문구:

sqlalchemy.exc.DatabaseError: (mysql.connector.errors.DatabaseError) 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (99)

(Background on this error at: https://sqlalche.me/e/14/4xp6)


- 플라스크 내부의 db 연결 관련 설정 문제 없음(애초에 로컬로 전부 문제없이 돌아가던거 컨테이너화 시킴)

- 양쪽 컨테이너 정상 작동중

- host에서 mariadb container로의 접근은 문제없음 curl 명령어로 확인함 

= DB 컨테이너 연결은 문제없음 그럼 플라스크가 문제인가?

- flask쪽 Dockerfile 에서 EXPOSE 3306 5000 으로 관련 포트들 열어놨음
- docker run -p 로 양 컨테이너 포트 매핑 문제없음





+
chatgpt에 쳐보니 --link를 쓰라는데 인터넷 보면 이거 쓰는 사람 아무도 없던데
--link 없이 방법 알려달라니 docker network 쓰면 된다 하는데
애초에 디폴트로 사용하는거고

도커 쉽다는데 어렵네 깃헙샘플 받아서 뜯어볼가...