데이터베이스 도커
-
데이터베이스를 Docker 환경에서 운영하면 안되는 이유DB 2021. 11. 7. 21:39
Docker와 같은 컨테이너 기술에서 컨테이너는 stateless하다고 가정한다. 즉, 실행 중에 컨테이너에 지속적으로 유지되어야 할 데이터를 저장해서는 안 된다. 컨테이너는 함수와 같이 취급되어야 한다. Docker 자체가 stateful한 서비스를 위해 설계된 것이 아니며, 컨테이너가 제거될 때 컨테이너 실행 중에 생성된 데이터도 제거된다. 또한 쿠버네티스와 같은 오케스트레이션 도구는 트래픽에 따라 컨테이너를 생성하고 삭제할 수 있다. 같은 이미지로 같은 컨테이너를 생성하더라도, 데이터베이스의 경우 각 컨테이너의 데이터가 다르면 트래픽 분산을 하는 의미가 없어진다. 만약 하나의 컨테이너만 운영한다면, 트래픽 분산이 불가능하다. 물론 Docker 볼륨 등을 이용하여 지속적으로 데이터를 유지할 수 있다...