在Mac上运行Docker,我可以构建我的图像,但在运行时,我收到以下错误:
/bin/sh: 1: [: missing ]
Run Code Online (Sandbox Code Playgroud)
我使用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"
Run Code Online (Sandbox Code Playgroud)
- 简单的脚本,从quandl API获取一些数据,并从正在运行的redis服务器获取写入.要运行,我只是使用docker run image_name
CMD [ "python", "./quandlData.py"
Run Code Online (Sandbox Code Playgroud)
被解析为shell命令,而不是数组 - 并且[
命令(当以这种方式调用时,而不是通过其替代名称test
)需要其最后一个参数]
.
但是,在这种情况下,添加尾部]
将导致您CMD
解析为一个数组,描述要传递给的参数python
,而不是一个[
命令 - 它应该是什么.
因此,您可以执行以下两项操作之一:
# BETTER: Fix your JSON array
CMD [ "python", "./quandlData.py" ]
Run Code Online (Sandbox Code Playgroud)
...要么...
# WORSE: Pass a valid shell command
CMD python ./quandlData.py
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2475 次 |
最近记录: |