Ita*_*ayB 7 docker dockerfile docker-compose
我创建了Dockerfile来构建名为aii的图像.
FROM docker.io/centos:latest
#Set parameters
ENV BinDir /usr/local/bin
ENV RunFile start-aii.sh
ADD ${RunFile} ${BinDir}
#Some other stuff
...
CMD ${RunFile}
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令运行图像时:
docker run -it -v <some-volume-mapping> aii
Run Code Online (Sandbox Code Playgroud)
它运行良好(运行start-aii.sh的CMD命令的默认操作).现在,如果我尝试覆盖此默认行为并隐式运行具有相同脚本的图像(并添加另一个arg),我收到以下错误:
docker run -it -v <some-volume-mapping> aii start-aii.sh kafka
exec format error
docker: Error response from daemon: Cannot start container b3f4f3bde04d862eb8bc619ea55b7061ce78ace8f1984a12f6ec681877d7d926: [9] System error: exec format error.
Run Code Online (Sandbox Code Playgroud)
我也尝试过:只有脚本(没有参数)
docker run -it -v <some-volume-mapping> aii start-aii.sh
Run Code Online (Sandbox Code Playgroud)
和脚本的完整路径
docker run -it -v <some-volume-mapping> aii /usr/local/bin/start-aii.sh
Run Code Online (Sandbox Code Playgroud)
但出现同样的错误.
另一个信息:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2488a4dd7014 aii "start-aii.sh kafka" 3 seconds ago Created tiny_payne
Run Code Online (Sandbox Code Playgroud)
有什么建议?
谢谢
小智 5
尝试在使用脚本之前启动bash,并使用--rm标志来在作业结束后销毁实例,例如:
docker run -it --rm -v <some-volume-mapping> aii /bin/bash /usr/local/bin/start-aii.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12599 次 |
| 最近记录: |