Расширение существующего образа Docker в Docker Hub

Я новичок в Docker и пытаюсь понять, как расширить существующие изображения.

Я понимаю, что вы можете расширить существующий образ Docker с помощью команды FROM в файле Docker (например, Как расширить существующий образ докера?), но мой вопрос: как я могу установить дополнительное программное обеспечение/пакеты, не зная, какая базовая операционная система используется в базовом образе или какой менеджер пакетов доступен?

Или я неправильно об этом думаю?


person Marco Benvoglio    schedule 13.03.2015    source источник


Ответы (2)


Лучше всего запустить базовый образ, который вы хотите запустить FROM (возможно, используя docker exec), и посмотреть, какие менеджеры пакетов доступны (если они есть). Затем вы можете написать свой Dockerfile с правильной процедурой установки программного обеспечения.

Думайте об этом так же, как вы добавляете программное обеспечение на любой компьютер: вы либо сами входите в него и ковыряетесь, либо пишете программу установки, которая может обрабатывать все ожидаемые варианты.

person Andy    schedule 13.03.2015

В большинстве случаев предоставляется исходный файл Dockerfile, и вы можете пройти цепочку в обратном порядке и лучше понять, как вы это делаете.

Например, если мы посмотрим на официальный образ Redis, мы увидим, что вкладка с информацией говорит

Поддерживаемые теги и соответствующие ссылки Dockerfile

Поэтому, если вы заинтересованы в построении redis:latest, вы должны перейти по второй ссылке и увидеть, что она, в свою очередь, построена на основе debian:wheezy.

Большинство образов, созданных пользователями, либо включают свой файл Dockerfile на главной странице, либо по ссылке там.

person Nathaniel Waisbrot    schedule 14.03.2015
comment
К сожалению, большинство изображений, которые я просматриваю в Docker Hub, не имеют файла Docker, что приводит к этому вопросу. - person Marco Benvoglio; 16.03.2015
comment
@MarcoBenvoglio Я бы избегал изображений без связанного файла Dockerfile - это плохой знак. - person Adrian Mouat; 17.03.2015