Объединение нескольких образов Docker
Объединение нескольких образов Docker в один унифицированный образ напрямую не поддерживается Docker. Однако существуют сторонние инструменты, облегчающие этот процесс. DockerMake — один из таких инструментов, который позволяет создавать сложные сценарии наследования изображений.
Использование DockerMake для объединения изображений
DockerMake использует файл YAML для определения связей между Докер-образы. На основе конфигурации YAML DockerMake генерирует файлы Dockerfile, которые управляют процессом сборки.
Например, чтобы объединить образы Java и MySQL в новый образ с именем «specificAB», вы должны создать файл DockerMake.yml следующим образом. :
specificAB:
requires:
- genericA
- genericB
genericA:
requires:
- customBase
build_directory: [a local directory]
build: |
# Dockerfile commands specific to genericA
genericB:
requires:
- customBase
build: |
# Dockerfile commands specific to genericB
customBase:
FROM: Debian:jessie
build: |
# Dockerfile commands to set up the base image
Эта конфигурация устанавливает следующую структуру наследования:
--> genericA -- / \ debian:jessie --> customBase ---> specificAB \ / --> genericB --
Создание комбинированного образа
Чтобы создать образ «специфического AB» с помощью DockerMake, просто выполните следующую команду:
docker-make specificAB
Заключение
Хотя Docker не предоставляет напрямую встроенный механизм для объединения изображений, DockerMake предлагает удобное и мощное решение для достижения этой функциональности. Определяя сложные сценарии наследования в файле YAML, DockerMake упрощает процесс создания комбинированных образов Docker и управления ими.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3