오프라인 설치를 위한 Tarball로 Docker-Compose 스택 준비
요구 사항
인터넷 연결 없이 일부 응용 프로그램을 실행해야 할 수 있는 Raspberry Pi 또는 기타 SBC에서 Docker를 실행해야 하는 요구 사항이 있는 경우가 많습니다. 처음에는 Docker Artifact를 염두에 두고 애플리케이션을 개발했을 수 있으며
docker-compose.yml
를 사용하여 전체 스택으로 실행해야 했습니다.거의 모든 경우에 스택을 가져오면 인터넷을 통해 레지스트리에서 이미지를 가져옵니다. 그러나 처음부터 인터넷이 없는 공간에 일부 SBC를 배포하려는 경우 코드 아티팩트를 패키지 또는 바이너리 번들로 개발해야 할 수 있습니다. 이 응용 프로그램에 일부 데이터베이스에 대한 종속성이 필요한 경우 장치를 준비하기 위해 지루한 bash 스크립트를 작성해야 합니다.
일부 사전 설치를 위해.
많은 리팩토링/다시 생각해야 할 것 같습니다!
걱정하지 마세요
docker
에는 정리된 항목이 있으며 docker save
및 docker load
기능을 제공합니다.대본
Edge에서 IoT용 오픈 소스 스택tiguitto을 고려해 보겠습니다.
MQTT Broker, InfluxDB, Telegraf, Grafana와 같은 일부 표준 앱으로 구성됩니다. 이 모든 것
구성 요소는
docker-compose.yml
파일을 통해 결합됩니다.이제 이전에 언급한 것처럼 대상 노드에 인터넷이 있었다면 스택 배송이 쉬웠을 것입니다.
Compose 파일을 노드로 보내기만 하면 모든 작업이 완료됩니다.
인터넷에 접속할 수 없는 경우 다음 두 가지를 배송해야 합니다.
docker-compose.yml
사용 단계
docker
및 docker-compose
가 있는 개발 시스템이 있다고 가정합니다.우리의 응용 프로그램이 존재합니다.
docker images -a # check existing images on dev machine
모든 것을 제거하고 필요한 이미지만 가져오려면 다음을 수행하십시오.
docker rmi $(docker images | awk "NR>0 {print$3}")
docker pull <image_name>:<tag>
를 사용하여 전용 태그가 있는 이미지를 가져옵니다. docker images -a
이제 다음을 사용하여 일부 형식 구문 분석과 함께 활용
docker save
:docker save -o myStack.tar $(docker images --format {{.Repository}}:{{.Tag}}})
docker save
는 이미지를 각각의 Tar 볼에 결합하지만 개발 시스템에 존재하는 모든 이미지를 결합된 Tar 볼에 결합해야 한다고 알려야 합니다docker
. 이것은 --format {{.Repository}}:{{.Tag}}
를 통해 수행됩니다.이렇게 하면 디렉터리에
myStack.tar
가 생성됩니다.Tarball의 압축을 풀고 테스트
랩톱이나 PC에서 이 작업을 수행하는 경우 지금 네트워크 연결을 끄십시오.
docker load -i myStack.tar
docker images -a
로 확인 docker-compose up
애플리케이션이 오프라인으로 작동해야 합니다Docker 및 Compose 애플리케이션을 배송하는 다른 방법을 사용하는 경우 저에게 연락하여 배우고 싶습니다!
Reference
이 문제에 관하여(오프라인 설치를 위한 Tarball로 Docker-Compose 스택 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shandesai/prepare-your-docker-compose-stack-as-a-tarball-for-offline-installations-40cd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)