Переопределить ОТ 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
в теме.