我有一个shell脚本,它运行一个Python程序来预处理一些数据,然后运行一个R程序来执行一些长时间运行的任务。我正在学习使用Docker而且我一直在运行
FROM r-base:latest
FROM python
COPY . /usr/local/src/scripts
WORKDIR /usr/local/src/scripts
CMD ["./myscript.sh"]
根据我的理解,它会做到以下几点:
/usr/local/src/scripts
/usr/local/src/scripts
./myscript.sh
在myscript.sh
内部我使用R CMD ...
语法来运行我的R脚本。但是,当运行此docker镜像时,我收到以下错误:
./myscript.sh: line 8: R: command not found
这表明该脚本在容器内运行时无法识别R程序。我可以确认./myscript.sh
在本地工作,但我不能公开任何专有代码。
答案 0 :(得分:1)
FROM命令设置Dockerfile构建的基本映像。你应该只有其中一个。之后,如果您需要基本映像中不包含的其他工具,请运行使用依赖于平台的程序包管理器的命令,例如
RUN apt-get update && apt-get install -y \
package-foo \
package-bar
这适用于基于Debian的图像,例如Ubuntu。