불필요한 에러 로그는 이제 그만 – Docker Compose 환경에서 의존성을 보장하는 법
·
Infra
들어가면서 MSA 환경이나 모놀리식 환경에서 여러 서비스를 한 번에 실행시키기 위해 docker-compose를 사용하다 보면, 서비스 간의 실행 순서를 보장해야 하는 상황이 발생합니다. 저는 최근 MySQL과 연동되는 애플리케이션을 docker-compose로 배포하면서, 단순히 컨테이너 실행 여부만으로는 서비스 준비 상태를 확실히 보장할 수 없다는 문제를 경험했습니다. 이번 포스팅에서는 그 문제 상황과 해결 방법, 그리고 마무리 정리를 통해 동일한 문제를 겪는 분들께 도움이 되고자 합니다. 문제 상황 기존에는 docker-compose의 `depends_on` 옵션을 사용하여 애플리케이션 컨테이너가 MySQL 컨테이너 실행 후에 시작되도록 구성했습니다. 그러나 `depends_on`은 단순..
슬랙(Slack) 봇이 배포 알람을 보내도록 만들어보자.
·
Infra
들어가면서요즘 인프라 관련해서 여러 가지 만들어보는 중이다. 팀 단위로 CI/CD를 구축했다고 치자. 팀원들은 각자 통합 및 배포 타이밍이 다를 것이다. 이를 팀 전체에게 실시간 알람으로 보낸다면 프로젝트 진행에 큰 도움이 될 것이다.`개발하면서 발생하는 이벤트에 대한 정보`를 실시간 알람으로 보내도록 구현해 보자. 이번 포스팅에서는 배포 알람 전 단계로서, 수동으로 알람을 보낼 수 있도록 구현한다.   이번 포스팅은 인프런에서 `이준형 강사님의: 안정적인 서비스 배포를 위한 배포 전략과 팁`강의를 보며 실습하는 내용이다.    슬랙 알람이 필요한 이유이 글에서 소개할 `Slack`이라는 업무 플랫폼으로 특정 이벤트 발생 시 알람을 보내도록 구현할 수 있다.아래에서는 `배포`라는 이벤트에서 슬랙 알람이 ..
[Docker + MySQL] DBeaver에서 Access Denied 문제 해결기
·
Infra
문제 상황`도커로 MySQL을 실행`하기 위해서 비밀번호를 1108로 설정하고 `호스트 포트와 컨테이너 포트를 연결해서 RUN`을 해준 상황이다.docker ps로 실행 중인 컨테이너를 확인해 보니 c64 MySQL 컨테이너가 정상적으로 실행 중이다. `실행 중인 해당 컨테이너에 접속`해보았다.`환경변수 MYSQL_ROOT_PASSWORD`를 확인해 보니 RUN에서 지정해 준 1108로 세팅되어 있음을 확인했다. 그러나 dbeaver에서 해당 MySQL컨테이너에 연결하려고 하니패스워드가 틀려서 Access denied가 된 것으로 보이는 상황이 발생했다. 혹시나 해서 기존 로컬 MySQL에서 사용하던 비밀번호를 입력하니 연결이 된다. 따라서 두 가지 경우의 수를 의심해보았다. 원인 1이전에 도..