Создание образа Docker с использованием пользовательского базового образа

Работаю над проектом Python, где мне нужно отделить дочерний компонент от родительского компонента. Дочерний компонент должен использовать образ Docker родительского компонента в качестве базового образа и строить на его основе свой образ. Оба они используют файлы колеса для упаковки.

Как запустить дочерний контейнер, используя родительский в качестве зависимости?


person Code Enthusiast    schedule 10.03.2021    source источник
comment
Что вы уже пробовали? Является ли дочерний компонент просто библиотекой Python (так что COPY его .whl файл в образ приложения и RUN pip install его) или полноценный образ с дополнительными зависимостями родной библиотеки и другими настройками? Вы можете создать образ приложения FROM из чего угодно, даже локально созданного образа; см. Как я могу использовать локальный образ в качестве базового образа с dockerfile?   -  person David Maze    schedule 10.03.2021
comment
У меня есть монолитное приложение, которое работает внутри контейнера Docker. Теперь я хочу выделить из него небольшой модуль как дочерний компонент. Дочерний компонент нуждается в родительском компоненте для успешного запуска. Поэтому я выделил дочерний компонент, который имеет собственный файл DockerFile и использует базовый образ родительского компонента. Теперь я могу генерировать whl-файлы как для родителя, так и для дочернего элемента. Но когда я устанавливаю pip, он не может ссылаться на родительский компонент. Следовательно, контейнер дочернего компонента, хотя и запускается, не работает должным образом.   -  person Code Enthusiast    schedule 10.03.2021
comment
Оба пакета основаны на Python. Ниже приведен пример дочернего файла докера. FROM base-image:latest #dist2 содержит файлы родительского и дочернего колес COPY src/dist /dist2 RUN ls /dist2/* ARG http_proxy ARG https_proxy ARG no_proxy RUN python3 -m pip install --user --upgrade setuptools wheel \ && python3 - m pip установить /dist2/*.whl   -  person Code Enthusiast    schedule 10.03.2021