ayakaleaf-pro 및 TeX Live 이미지를 pull하기 위해 ghcr.io 레지스트리에 접근하지 못할 수도 있습니다. Docker는 이미지를 내보내고 가져오는 도구를 제공하므로 이는 문제가 되지 않으며, 이를 통해 오프라인/에어갭 배포를 진행할 수 있습니다.
전체적인 흐름은 인터넷에 연결된 기기에서 필요한 이미지를 다운로드하고, 이를 휴대용 저장 장치로 내보낸 다음(또는 SCP/Rsync로 전송한 다음), 에어갭 서버에서 가져오는 것입니다.
이를 위해 다음 단계를 완료해야 합니다.
- 인터넷에 연결된 머신에서 필요한 모든 이미지(
overleaf-pro,git-bridge,mongo,redis+ 샌드박스 컴파일에 사용할 필요한 TeX Live 이미지)를 pull합니다docker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0docker pull ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0(태그는overleaf-pro와 같아야 합니다)docker pull mongo:8.0(실제 버전으로 변경하세요)docker pull redis:7.4(실제 버전으로 변경하세요)docker pull ghcr.io/ayaka-notes/texlive-full:2024.1(실제 버전으로 변경하세요)
- pull한 각 이미지를 .tar 파일로 내보내야 합니다. 예:
docker save ghcr.io/ayaka-notes/overleaf-pro:6.3.0 > overleaf-pro:6.3.0.tar - 원하는 방법을 사용하여 인터넷에 연결된 머신에서 오프라인/에어갭 서버로
.tar파일을 전송합니다 - 각 .tar 파일에 대해
docker load명령을 사용하여 .tar 파일에서 이미지를 불러옵니다. 예:docker load < overleaf-pro:6.3.0.tar - 마지막으로
docker images명령을 실행하여 이미지를 성공적으로 불러왔고 사용 가능한지 확인합니다
기본적으로
bin/up 명령을 실행하면 Toolkit은 config/variables.env의 ALL_TEX_LIVE_DOCKER_IMAGES에 설정된 각 TeX Live 이미지를 자동으로 pull하려고 시도합니다. 에어갭 배포에서는 이 작업이 실패하므로, config/overleaf.rc에서 SIBLING_CONTAINERS_PULL=false를 사용하여 이를 중단할 수 있습니다.
