以下是我的 Dockerfile,我將一個文件夾和兩個 java jar 文件復制到圖像上,目的是執行復制目錄中的腳本文件,然后執行兩個 java 應用程序。FROM openjdk:latestCOPY ./mycluster /dir/latest/COPY ./app1.jar /dir/latest/COPY ./app2.jar /dir/latest/ CMD ["sh", "-c", "cd /dir/latest/ ;./local_cluster_startup.sh ./;sleep 5 ;java -jar app2.jar;sleep 5;java -jar app1.jar;"]構建 docker 映像并運行以下命令docker container run tryout:nsdap后,輸出為sh: 1: cd: can't cd to /dir/latest/sh: 1: ./local_cluster_startup.sh: not foundError: Unable to access jarfile app2.jarError: Unable to access jarfile app1.jar誰能告訴我這里做錯了什么?我正在尋找能夠執行 java jars 和 shell 腳本的最小 docker 映像。你能幫幫我嗎?謝謝
1 回答

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
使用 WORKDIR ( https://docs.docker.com/engine/reference/builder/#workdir ) 切換到目錄“/dir/latest”。然后你可以從那個目錄運行你的命令
WORKDIR /dir/latest CMD ["./local_cluster_startup.sh ;sleep 5 ;java -jar app2.jar;sleep 5;java -jar app1.jar;"]
添加回答
舉報
0/150
提交
取消