在Mac上运行Docker,构建工作,运行错误:: / bin / sh:1:[:missing]

时间:2017-02-07 22:41:49

标签: bash macos docker

在Mac上运行Docker,我可以构建我的图像,但在运行时,我收到以下错误:

/bin/sh: 1: [: missing ]

我用本地目录创建图像 dockerfile,requirements.txt和python脚本文件。 - 3档 -  使用docker build

Dockerfile:

FROM python
COPY "requirements.txt"
RUN pip install -r requirements.txt
COPY "quandlData.py"
CMD [ "python", "./quandlData.py" 

- 简单的脚本,从quandl API获取一些数据,并从正在运行的redis服务器获取写入。要运行,我只需使用docker run image_name

1 个答案:

答案 0 :(得分:7)

CMD [ "python", "./quandlData.py"

被解析为shell命令,而不是数组 - 而[命令(以这种方式调用,而不是通过其替代名称test)要求其最后一个参数为{{ 1}}。

但是,在这种情况下,添加尾随]将导致您的]解析为描述要传递给CMD的参数的数组,而不是python命令所有 - 它应该是。

因此,你可以做以下两件事之一:

[

...或...

# BETTER: Fix your JSON array
CMD [ "python", "./quandlData.py" ]