모든 도커 볼륨을 파티션에 넣을 수 있으며 백업 복제 목적에 적합합니까? (예: /dev/sdb1 @fstab의 /var/lib/docker/volumes/)

모든 도커 볼륨을 파티션에 넣을 수 있으며 백업 복제 목적에 적합합니까? (예: /dev/sdb1 @fstab의 /var/lib/docker/volumes/)

저는 오래된 독립 실행형 삼바 서버에서 모든 문서와 스프레드시트 인프라를 인기 있는 자체 호스팅 솔루션 중 하나로 마이그레이션할 생각이며 오류가 발생하기 쉽고 쉽게 (재)설치할 수 있는 최선의 노력을 다하고 있습니다. 예제를 기반으로 자체 docker-compose 파일을 사용하여 첫 설치를 쉽게 할 수 있도록 만들었습니다.

DB, 웹 서버, 인증서 생성기 및 유효성 검사기를 포함하는 다양한 컨테이너가 있습니다.

저와 같은 Docker 초보자의 경우 백업하기가 매우 복잡해 보입니다. 특히 일부 웹 사이트에서는 /var/lib/docker/volumes/를 건드리지도 말아야 한다고 말하고 패키지 관리자나 docker 설치/업데이트가 이를 깨뜨릴 수 있다고 우려합니다.

나에게는 더 빠르고 쉬운 방법이 다음과 같이 간단해 보입니다.

  • systemctl 중지 도커

  • docker 저장;docker 컨테이너를 tar로 내보내기

  • clonezilla /dev/sdb1을 동일한 크기의 이미지 또는 디스크로 복사(/var/lib/docker/volumes/가 /dev/sdb1에 마운트된 경우)

필요할 때 미래 시스템의 새 서버에:

  • clonezilla 이미지/장치를 복원하고 /var/lib/docker/volumes에 마운트합니다.
  • 도커 설치 및 시작
  • 도커 로드; docker import(s) tars

DB 컨테이너가 해당 볼륨에 연결되지 않아 로그인 및 버전 관리가 손실될 수도 있지만 파일 손실은 보이는 것보다 더 어렵습니다.

내가 이해한 바에 따르면 섹터별 파티션 복사에는 수백만 개의 파일 cp -R이 몇 시간이 걸리는 데 몇 분이 걸리며 이러한 단계를 통해 docker-compose를 다시 실행하여 db 및 웹 엔진을 업데이트하는 것이 더 안전하다고 느낄 수 있습니다. 웹에는 안전하고 패치가 필요합니다

당신이 생각하는 것이 더 안전하다고 생각하는가? 빠른 것은 좋지만 꼭 필요한 것은 아니다. 아니면 나는 충분히 안전합니까?

감사합니다!

답변1

볼륨 마운트를 반드시 사용해야 합니까? 그렇지 않은 경우 바인딩 마운트를 확인해야 합니다. 간단히 서버 A에서 파일 시스템을 가져와서 서버 B에 복사하고 바인드 마운트로 마운트하면 됩니다.

긍정적인 측면에서는 마이그레이션 노력이 최소화되고 서버의 원하는 위치에 저장할 수 있다는 점입니다. /var/lib/docker/volumes에 저장할 필요가 없습니다. 부정적인 측면에서는 사용자 및 그룹 ID와 권한을 관리해야 합니다. 설정에 따라 약간의 노력이 더 필요할 수 있습니다.

관련 정보