簡體   English   中英

docker run [9]系統錯誤:exec格式錯誤

[英]docker run [9] System error: exec format error

我創建了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}

當我使用以下命令運行圖像時:

docker run -it -v <some-volume-mapping> aii

它運行良好(運行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.

我也嘗試過:只有腳本(沒有參數)

docker run -it -v <some-volume-mapping> aii start-aii.sh

和腳本的完整路徑

docker run -it -v <some-volume-mapping> aii /usr/local/bin/start-aii.sh

但出現同樣的錯誤。

另一個信息:

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
2488a4dd7014        aii                 "start-aii.sh kafka"     3 seconds ago       Created                                 tiny_payne

有什么建議?

謝謝

有同樣的問題,通過在文件頂部添加#!/bin/sh而不是其他注釋來修復它。

嘗試在使用腳本之前啟動bash,並使用--rm標志在作業結束后銷毀實例,如下所示:

docker run -it --rm -v <some-volume-mapping> aii /bin/bash /usr/local/bin/start-aii.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM