Docker 이미지 공유 - Container Registry 없이

일반적으로 도커 컨테이너를 실행하려면 먼저 컨테이너 레지스트리(예: Github 컨테이너 레지스트리, Docker Hub 레지스트리 등)에서 필요한 도커 이미지를 가져옵니다. 이것은 공개적으로 사용 가능한 이미지이거나 비공개 이미지일 수 있습니다. 마찬가지로 새로 빌드된 이미지를 이러한 레지스트리에 푸시할 수 있습니다.

그러나 컨테이너 레지스트리를 사용하지 않고 현재 한 시스템에 저장된 이미지를 다른 시스템이나 서버에 공유하려는 경우에는 어떻게 해야 할까요?

이 솔루션이 작동하려면 공유 스토리지 또는 클라우드 위치에 대한 액세스 또는 두 시스템(예: SCP) 간의 파일 전송 기능이 필요합니다.


Docker 이미지를 공유하는 단계:

A. 첫 번째 머신에서 새 도커 이미지를 빌드하거나 컨테이너 레지스트리에서 이미지를 가져옵니다.

B. 첫 번째 컴퓨터에서 이미지가 준비되면 로컬 저장소의 .tar 파일에 저장합니다.

docker save -o <location-1>/image-name.tar image-name


C. 새 .tar 파일이 로컬 저장소(위치-1)에 저장되어 있는지 확인합니다.

ls <location-1>


D. 이 새로 생성된 .tar 파일을 두 번째 컴퓨터에서 액세스할 수 있는 위치로 공유합니다. 이것은 Azure, AWS 등의 클라우드 스토리지 위치이거나 공유 디렉토리이거나 파일이 동일한 네트워크에 있는 경우 간단히 'scp'일 수 있습니다.

E. 이제 새 .tar 파일을 두 번째 컴퓨터에 저장합니다.
두 번째 컴퓨터에서 파일을 사용할 수 있게 되면 아래 명령을 사용하여 해당 .tar 파일에서 이미지를 로드합니다.

docker load -i <location-2>/image-name.tar


F. 이제 두 번째 컴퓨터에서 이미지를 사용할 수 있는지 확인할 수 있습니다.

docker images


G. 이제 컨테이너 레지스트리를 사용하지 않고도 이미지가 두 번째 컴퓨터로 성공적으로 전송되었습니다.

이 방법은 Linux 및 Windows 기반 시스템 모두에서 작동합니다.


자세한 내용은 공식 Docker 문서를 확인하십시오.

참조:
https://docs.docker.com/engine/reference/commandline/save/
https://docs.docker.com/engine/reference/commandline/load/
https://docs.docker.com/engine/reference/commandline/export/
https://docs.docker.com/engine/reference/commandline/import/

좋은 웹페이지 즐겨찾기