Переопределить ОТ ENV изображения в Dockerfile

Со следующего изображения: https://registry.hub.docker.com/u/cloudesire/activemq/dockerfile/

Если бы я хотел переопределить переменную среды ACTIVEMQ_VERSION в моем дочернем файле Docker, я предполагал, что смогу сделать что-то вроде следующего:

FROM cloudesire/activemq:latest
MAINTAINER abc <abc@xyz.co.uk>
ENV ACTIVEMQ_VERSION 5.9.1
ADD ./src/main/resources/* /opt/activemq/conf/

Однако это не похоже на работу. По общему признанию, я новичок в Docker и явно что-то неправильно понял. Пожалуйста, кто-нибудь может объяснить, почему это не работает, и как / если я могу добиться этого по-другому?

1 ответ

Решение

Это не сработает. ACTIVEMQ_VERSION уже был использован cloudesire/activemq:latest сборка изображения, чтобы заполнить его слои изображения. Все установочные файлы ActiveMQ в зависимости от версии 5.11.1 уже извлечены в соответствующих каталогах.

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

Если вам нужно иметь свой собственный cloudesire/activemq Изображение на основе версии 5.9.1 необходимо клонировать их Dockerfile, откорректируйте версию и создайте ее локально. Таким образом, вы могли бы основать свой другой Dockerfile в теме.

Другие вопросы по тегам