有一个Shell脚本,如下所示
ENV HOME=/home
RUN mkdir $HOME
以上脚本是在一个Docker文件,得到异常如下[91mmkdir:缺少操作数。尝试'mkdir --help'
获取更多信息。构建步骤"Docker构建和发布"将构建标记为失败
我刚刚尝试了这样一个Dockerfile:
FROM scratch
ENV HOME=/home
RUN mkdir $HOME
并得到了
$ docker build .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM scratch
--->
Step 2/3 : ENV HOME=/home
---> Running in e9d03ee00aa7
Removing intermediate container e9d03ee00aa7
---> 16f6e2ba2f09
Step 3/3 : RUN mkdir $HOME
---> Running in 6847b9b34717
failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/bin/sh": stat /bin/sh: no such file or directory: unknown
$
然后我编辑文件,看起来像这样:
FROM mariadb
ENV HOME=/home
RUN mkdir $HOME
和明白了:
$ docker build .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM mariadb
---> ea81af801379
Step 2/3 : ENV HOME=/home
---> Running in 7d903215da74
Removing intermediate container 7d903215da74
---> 77276b970083
Step 3/3 : RUN mkdir $HOME
---> Running in f120f966144f
mkdir: cannot create directory '/home': File exists
The command '/bin/sh -c mkdir $HOME' returned a non-zero code: 1
$
从错误消息中我可以看到$HOME变量不是一个问题。你那边应该也可以。