티스토리 뷰

728x90
반응형

docker-compose down 명령어는 실행중인 모든 컨테이너를 중지하고 삭제한다. 이러한 과정에서 데이터 손실이 발생할 수 있는데, 이를 방지하는 두 가지 방법을 소개하려고 한다.

1. docker-compose stop 이용

  • docker-compose stop 명령어는 컨테이너를 일시정지하는 것과 같다.
  • 이 명령어는 컨테이너를 삭제하지 않고 중지 상태로 유지하므로 언제든지 다시 시작할 수 있다.
  • 또한 서비스를 정상적으로 종료하고 데이터를 저장하는 과정을 거치기에 데이터 손실이 발생하지 않는다.

2. docker-compose.yml 파일에 볼륨 지정 설정

  • docker-compose.yml 파일에서 MySQL 데이터베이스나 기타 데이터를 저장할 서비스에 볼륨을 설정하면 데이터 손실을 막을 수 있다.
  • 아래와 같이 yml 파일을 수정하여 볼륨을 설정할 수 있다.
  • services: db: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: example volumes: - db_data:/var/lib/mysql # 볼륨 설정 volumes: db_data: # 외부에 저장될 볼륨 정의, 별도의 경로 설정 필요 없음
  • 또는, 호스트 경로를 직접 지정하여 데이터 저장을 할 수도 있다.
  • services: db: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: example volumes: - /my/local/path/db_data:/var/lib/mysql # 호스트 경로를 직접 지정

단기적으로 데이터 보호가 필요하다면 docker-compose stop이 유리하고, 장기적으로 데이터를 안전하게 보존하려면 볼륨 설정이 더 효율적이다.

728x90
반응형
댓글