====== Docker: Выкачиваем образы с DockerHub без Docker'а ======
Если нужно выкачать образы с DockerHub'а но нет докера, это можно сделать двумя путями: shell-скриптом и python-скриптом.
===== Shell =====
Оригинал: https://devops.stackexchange.com/a/2772
Берем скрипт тут: https://raw.githubusercontent.com/moby/moby/master/contrib/download-frozen-image-v2.sh
Использование:
download-frozen-image-v2.sh target_dir image[:tag][@digest] ...
Образ можно импортировать при помощи tar и команды docker load:
tar -cC 'target_dir' . | docker load
Пример работы скрипта для образа Ubuntu на Docker Hub и загрузка в Docker:
user@host:~$ bash download-frozen-image-v2.sh ubuntu ubuntu:latest
user@host:~$ tar -cC 'ubuntu' . | docker load
user@host:~$ docker run --rm -ti ubuntu bash
root@1dd5e62113b9:/#
Загрузка образа на машине с доступом в Интернет (но без установленного Docker) и копирование на целевую машину (где установлен Docker):
user@nodocker:~$ bash download-frozen-image-v2.sh ubuntu ubuntu:latest
user@nodocker:~$ tar -C 'ubuntu' -cf 'ubuntu.tar' .
user@nodocker:~$ scp ubuntu.tar user@hasdocker:~
и дальнейшая загрузка на целевой машине:
user@hasdocker:~ docker load ubuntu.tar
user@hasdocker:~ docker run --rm -ti ubuntu bash
root@1dd5e62113b9:/#
===== Python =====
Скрипт лежит тут: https://github.com/NotGlop/docker-drag
Примеры использования:
python docker_pull.py hello-world
python docker_pull.py mysql/mysql-server:8.0
python docker_pull.py mcr.microsoft.com/mssql-tools
python docker_pull.py consul@sha256:6ba4bfe1449ad8ac5a76cb29b6c3ff54489477a23786afb61ae30fb3b1ac0ae9
{{tag>docker pull image shell python}}