상세한 단계에 대해 감사합니다. 저도 비슷한 작업을 해야 했는데, 새로운 호스트로 이전하는 과정이었어요.
사이트가 정상적으로 작동하고 있었기 때문에 백업을 통해 복구하는 것보다는 여기 있는 단계를 따르는 게 나을 것 같아서 그렇게 했죠.
거의 성공했지만, 새 호스트에서 재빌드(rebuild)가 실패했습니다.
알고 보니 두 호스트의 UID/GID 매핑이 완전히 일치하지 않아서, Postgres를 시작할 때 데이터 폴더의 소유권이 잘못되어 오류가 발생했네요.
이런 문제는 다른 상황에서도 발생할 수 있으며, 다행히 해결 방법이 있습니다.
이 게시물에서 설명하는 시나리오에 대해 한 가지 추가적인 세부 사항이 있습니다. 컨테이너가 아직 빌드되지 않았기 때문에 이 단계에서는 ./launcher enter app 명령이 작동하지 않는다는 점입니다. 재빌드에는 상당한 시간이 소요되므로, 빌드를 수행 중인 컨테이너의 이름을 docker ps 명령으로 확인한 뒤 컨테이너에 진입할 수 있었습니다:
docker exec -it <container_name> bash
chown -R postgres:postgres /shared/postgres_*
이후 재빌드를 다시 시도하면 실패합니다(또는 CTRL+C로 중지할 수 없습니다). 재빌드가 멈춘 후 다시 실행하면 권한 문제가 해결됩니다:
./launcher rebuild app
그리고 다시 정상적으로 실행됩니다
.