開発環境
Windows10 Home 64bit
Docker Desktop For Windows : 4.12.0
実施内容
下記DockerfileからScala開発環境のイメージ構築を行おうとした。
FROM ubuntu:22.10
ARG JDK_VERSION="19-amzn"
ARG SBT_VERSION="1.7.2"
SHELL ["/bin/bash","-c"]
RUN apt-get update \
&& apt-get install -y curl zip unzip
RUN curl -s "https://get.sdkman.io" | bash
RUN source "$HOME/.sdkman/bin/sdkman-init.sh"
RUN sdk install java $JDK_VERSION
RUN sdk install sbt $SBT_VERSION
CMD ["bash"]
エラー内容
イメージ構築を行うと以下のようなエラーが発生した。
Step 8/9 : RUN sdk install sbt $SBT_VERSION
---> Running in fe53f05eced6
/bin/bash: line 1: sdk: command not found
Error response from daemon: The command '/bin/bash -c sdk install sbt $SBT_VERSION' returned a non-zero code: 127
Failed to deploy '<unknown> Dockerfile: Dockerfile': Can't retrieve image ID from build stream
解決策
下記のファイルを参考にソースを変更したところエラーが解決した。
FROM ubuntu:22.10
ARG JDK_VERSION="19-amzn"
ARG SBT_VERSION="1.7.2"
SHELL ["/bin/bash","-c"]
RUN apt-get update \
&& apt-get install -y curl zip unzip
RUN curl -s "https://get.sdkman.io" | bash
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" && sdk install java $JDK_VERSION
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" && sdk install sbt $SBT_VERSION
CMD ["bash"]
総括
現状、なぜこの変更を行うことで解決したか理解できていないため、詳しく調べる必要がある。(2022/10月現在)