我想用docker编译arduino程序。
这是我的Dockerfile:
FROM zoobab/arduino-cli然后,我构建了码头映像并按如下方式运行:
$docker build -t test .
$docker run -v C:/test/MyFirstSketch:/root/MyFirstSketch -it test(Dockerfile在/test/,我的Arduino Sketch - MyFirstSketch.ino在/MyFirstSketch/)。
当容器运行时,在命令提示符下,我为arduino-cli输入以下命令,它们可以工作,我在/MyFirstSketch中的代码将按预期编译。
$arduino-cli core update-index
$arduino-cli core install arduino:avr
$arduino-cli compile --fqbn arduino:avr:uno MyFirstSketch现在,为了改进这一点,我希望将上面的代码放在一个名为mycommands.bash的bash文件中,并能够在docker中运行它。
我的Dockerfile和docker运行命令应该是什么?对于我尝试过的Dockerfile:
FROM zoobab/arduino-cli
FROM ubuntu:xenial
ADD mycommands.bash ./mycommands.bash包含上面列出的命令。
这是输出:
./mycommands.bash: line 2: arduino-cli: command not found
./mycommands.bash: line 3: arduino-cli: command not found
./mycommands.bash: line 4: arduino-cli: command not found谢谢!
发布于 2019-11-05 10:53:52
很抱歉这么说,但问题是你的Dockerfile。
你不能把这样的两个图像组合在一起。您使用的最后一个映像(最后一个)是运行脚本的图像。
您将Dockerfile (意外地)实现为多级构建:https://docs.docker.com/v17.09/engine/userguide/eng-image/multistage-build/#use-multi-stage-builds
这个应该能工作:
FROM zoobab/arduino-cli
COPY mycommands.bash .
CMD ["./mycommands.bash"]https://stackoverflow.com/questions/55560582
复制相似问题