如何在WORKDIR节中使用env var?

到目前为止,我有一个非常苗条的Dockerfile:

FROM ubuntu:trusty ENV MYPACKAGE_VERSION 0.1.2 ADD mypackage-${MYPACKAGE_VERSION}.tar.gz /root/ WORKDIR /root/mypackage-${MYPACKAGE_VERSION}/ 

.tar.gz被正确地添加到docker文件中(它会被自动提取,这是令人沮丧的,因为这可能不是所有时候都需要的)。 所以在镜像path/root/mypackage-0.1.2/存在,并包含我想要使用的内容,但是WORKDIR节cd进入文字path/root/mypackage-${MYPACKAGE_VERSION} ,转义为/root/fifechan-\$\{FIFECHAN_VERSION\}/

我发现不一致的variables处理非常令人沮丧; 我该如何指定这个目录来使用?

请参阅Github问题: https : //github.com/docker/docker/issues/2637 。 这个问题表明现在这个问题已经解决了。 你使用的是最新版本吗?

在调用docker run时,您也可以覆盖Dockerfile中的WORKDIR:

 docker run -w=/root/mypackage-0.13