포크 격리 직접 확인하기
포크 튜토리얼에서 명령을 살펴봤습니다. 이번 튜토리얼은 그 의미를 직접 보여줍니다: 라이브 데이터베이스 앱을 몇 초 만에 복사하고, 브라우저에서 자유롭게 편집하는 동안 원본은 전혀 영향을 받지 않습니다.
튜토리얼 보기
준비 상황
pgAdmin 인터페이스를 갖춘 실제 PostgreSQL이 서버에서 실행 중입니다. 포크는 이 전체의 즉각적인 copy-on-write 복사본입니다. 생성 시점에는 동일한 데이터를 공유하지만, 이후의 삶은 완전히 분리됩니다.
1단계: 라이브 앱
rdc repo list --machine <machine-name> 실행 중인 repository에서 시작합니다. 머신에서 pgAdmin과 함께 PostgreSQL 데이터베이스가 동작 중입니다.
2단계: 포크하기
rdc repo fork --parent demo-pgadmin --tag experiment --machine <machine-name> --up --detach --up --detach 옵션으로 repository를 fork합니다. CoW 클론은 거의 즉시 완료되며 fork의 서비스가 즉시 시작됩니다.
영상에서 두 pgAdmin을 브라우저에서 나란히 엽니다. 원본은 로그인을 요구합니다. 프로덕션은 보호된 상태를 유지합니다. 포크는 바로 워크벤치로 들어갑니다. 포크는 일회용 샌드박스이므로 게이트가 비켜섭니다(저장소 자체가 포크 여부에 따라 이를 결정합니다).
3단계: 두 세계, 하나의 서버
rdc repo list --machine <machine-name> repository 목록을 확인합니다. 원본과 fork가 완전히 격리된 채로 나란히 실행됩니다.
포크에서 무엇이든 편집하고, 삭제하고, 망가뜨려도 원본은 계속 서비스됩니다. 포크 시점에는 동일한 테이블을 공유했지만, 그 이후로는 완전히 독립적입니다.
4단계: 버리기
rdc repo delete --name demo-pgadmin:experiment --machine <machine-name> 작업이 끝나면 fork를 삭제합니다. 원본 repository는 그대로 유지됩니다.
만드는 데 몇 초, 버리는 데 몇 초. 그래서 “프로덕션을 복제하되 아무것도 망가뜨리지 않는다”가 특별한 이벤트가 아닌 일상이 됩니다.
다음: 시크릿 관리.