我收到如下錯誤:
#8 46.51 [error] java.lang.IllegalStateException: cannot run sbt from root directory without -Dsbt.rootdir=true; see sbt/sbt#1458
#8 46.51 [error] Use 'last' for the full log.
Dockerfile 主要只是下載和安裝 debian。但是有些事情讓 sbt 不開心。不知道是什么。
FROM openjdk:8 as build
ENV SBT_VERSION "1.5.8"
ENV APP_HOME /service
# Install sbt
RUN \
curl -L -o sbt-$SBT_VERSION.deb https://repo.scala-sbt.org/scalasbt/debian/sbt-$SBT_VERSION.deb && \
dpkg -i sbt-$SBT_VERSION.deb && \
rm sbt-$SBT_VERSION.deb && \
apt-get update && \
apt-get install sbt && \
sbt sbtVersion
uj5u.com熱心網友回復:
我相信問題是使用 root aka/作為作業目錄。WORKDIR /home在RUN ...命令修復docker build ...錯誤之前添加,我能夠docker run ...成功。
docker build ...
docker build -f Dockerfile.so -t 70625015:latest .
[ ] Building 69.4s (7/7) FINISHED
=> [internal] load build definition from Dockerfile.so 0.0s
=> => transferring dockerfile: 387B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/openjdk:8 0.0s
=> CACHED [1/3] FROM docker.io/library/openjdk:8 0.0s
=> [2/3] WORKDIR /home 0.0s
=> [3/3] RUN curl -L -o sbt-1.5.8.deb https://repo.scala-sbt.org/scalasbt/debian/sbt-1.5.8.deb && dpkg -i sbt-1.5 68.3s
=> exporting to image 0.9s
=> => exporting layers 0.9s
=> => writing image sha256:99e90196e9a6b2d768adf4e6a01883785847758a5f136f4a858a636e60b77819 0.0s
=> => naming to docker.io/library/70625015:latest 0.0s
docker run ....啟動到sbt控制臺。
(:|?)$ docker run -it 70625015:latest
root@3a1084220dc9:/home#
uj5u.com熱心網友回復:
從錯誤的外觀來看,您嘗試在RUN命令之前添加
最終結果將是
FROM openjdk:8 as build
ENV SBT_VERSION "1.5.8"
ENV APP_HOME /service
WORKDIR /app
# Install sbt
RUN \
curl -L -o sbt-$SBT_VERSION.deb https://repo.scala-sbt.org/scalasbt/debian/sbt-$SBT_VERSION.deb && \
dpkg -i sbt-$SBT_VERSION.deb && \
rm sbt-$SBT_VERSION.deb && \
apt-get update && \
apt-get install sbt && \
sbt sbtVersion
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405118.html
標籤:
上一篇:如何在iOS應用程式中從CoreData的物體獲取屬性名稱
下一篇:SBT未從根目錄運行
