2015-08-23 4 views
0

У меня есть довольно тонкий Dockerfile до сих пор:Как использовать env var в строфе WORKDIR?

FROM ubuntu:trusty 

ENV MYPACKAGE_VERSION 0.1.2 
ADD mypackage-${MYPACKAGE_VERSION}.tar.gz /root/ 
WORKDIR /root/mypackage-${MYPACKAGE_VERSION}/ 

, .tar.gz получает правильно добавляется в файл Docker (он автоматически извлекается что разочаровывает, как это может быть не желательно во все времена). поэтому на изображении есть путь /root/mypackage-0.1.2/ и содержит контент, с которым я хочу работать, однако WORKDIR stanza cd в литеральный путь /root/mypackage-${MYPACKAGE_VERSION}, экранированный как /root/fifechan-\$\{FIFECHAN_VERSION\}/.

Я считаю, что непостоянная обработка переменных очень расстраивает; Как я должен указывать этот каталог для использования?

ответ

1

См. Вопрос Github здесь: https://github.com/docker/docker/issues/2637. Проблема в том, что теперь это исправлено. Используете ли вы последнюю версию?

Вы также можете переопределить Workdir в Dockerfile при вызове docker run:

docker run -w=/root/mypackage-0.13