답변:
짧게 : save
CLI 명령을 사용하십시오 .
https://docs.docker.com/engine/reference/commandline/save/
인터넷에 액세스 할 수있는 컴퓨터에서 이미지를 가져올 수 있습니다.
sudo docker pull ubuntu
그런 다음이 이미지를 파일로 저장할 수 있습니다
sudo docker save -o ubuntu_image.docker ubuntu
오프라인 컴퓨터 (USB / CD / 무엇이든)에서 파일을 전송하고 파일에서 이미지를로드하십시오.
sudo docker load -i ubuntu_image.docker
(이전 버전에서는이 기능이 추가되었습니다 docker load image.docker
. 자세한 내용은 주석을 참조하십시오.)
docker load <image>
대신 사용하십시오 docker load < ubuntu_image.docker
. docs.docker.com/engine/reference/commandline/load
sudo docker load -i ubuntu_image.docker
또는 작동하지 않을
이미 수용된 답변이 있음을 알고 있지만 "도커를 사용하여 검색을 수행하지 않고 도커 이미지를 다운로드하려면 어떻게해야합니까?"라는 질문을보다 직접적으로 해결하는이 솔루션을 제공하고 싶었습니다.
회사 정책에 따라 사용하려는 파일 (일반적으로 URL을 통해)을 팀에 제공해야하는 비슷한 문제가 있습니다. 그런 다음 다양한 스캔 및 감사를 수행 한 다음 파일을 연결이 끊긴 개발 네트워크에 배치합니다. Docker를 사용하여 파일을 검색 한 다음 파일을 내보내고 해당 팀에 전달할 수 없으므로 제공된 다른 답변은 옵션이 아닙니다.
운 좋게도 StackOverflow 에서이 답변을 찾았 습니다 .GitHub의 samalba가 제공하는 유용한 도구를 사용하는 것이 좋습니다 : https://github.com/samalba/docker-registry-debug
물론, 그 도구는 Docker를 사용하여 만들어졌으며 필요한 이유 중 일부는 Docker에 대한 공개 액세스 권한이 없기 때문입니다. :). 따라서 해당 옵션이 없으므로 여기에서 취한 단계를 설명합니다 (이것은 모두 해당 리포지토리에서 커밋 05fffc4344fd6f866f84c403caae3ba81193dd45입니다).
$ go get github.com/dustin/go-humanize
$ go build
$ ./docker-registry-debug --help
$ ./docker-registry-debug curlme docker ubuntu
해당 명령의 출력은 파일을 다운로드하는 데 사용할 수있는 완전한 curl 명령 행입니다.
# Reading user/passwd from env var "USER_CREDS"
# No password provided, disabling auth
# Getting token from https://index.docker.io
# Got registry endpoint from the server: https://registry-1.docker.io
# Got token: signature=e145911c2e458b3842e4e92c90bbf5bf2c17bd56,repository="library/docker",access=read
curl -i --location-trusted -I -X GET -H "Authorization: Token signature=e145911c2e458b3842e4e92c90bbf5bf2c17bd56,repository="library/docker",access=read" https://registry-1.docker.io/v1/images/ubuntu/layer
이것이 다른 누군가를 돕기를 바랍니다!