如何从docker build参数构建bash变量

时间:2018-10-10 19:05:38

标签: bash docker

我有一个docker文件,我想使用两个构建参数

    x1 = fig.add_subplot(221)
    plot_map(data1, lat, lon)
    ax2 = fig.add_subplot(222)
    plot_map(data2, lat, lon)
    ax2 = fig.add_subplot(223)
    plot_map(data3, lat, lon)
    ax2 = fig.add_subplot(224)
    plot_map(data4, lat, lon)

这是我的执行方式

 ...
 FROM ubuntu:18.04

 ARG user
 ARG pass

 ENV MY_USERNAME = $USER
 ENV MY_PASSWORD = $PASS

 RUN echo ${MY_USERNAME}

这奇怪地输出

 λ docker build --no-cache --rm -f "Dockerfile" --build-arg user=someusername --build-arg pass=somepass .... etc etc

那个等号不应该在那里吗??它以某种方式进入那里,但我不知道如何摆脱它。

1 个答案:

答案 0 :(得分:1)

根据official Docker documentation,在将ARG变量分配给ENV变量时,似乎不需要等号。

因此您的Dockerfile应该是:

 FROM ubuntu:18.04

  ARG user
  ARG pass

  ENV MY_USERNAME ${user}
  ENV MY_PASSWORD ${pass}

  RUN echo ${MY_USERNAME}