docker - 在 ubuntu 镜像中安装 kotlin 出现错误

标签 docker ubuntu kotlin

在 ubuntu 镜像中安装 kotlin 时出现错误。

FROM ubuntu:16.04
RUN apt-get update
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get -qq -y install curl
RUN apt-get install -y unzip
RUN apt-get install -y zip
RUN curl -s https://get.sdkman.io | bash
RUN chmod a+x "$HOME/.sdkman/bin/sdkman-init.sh"
RUN source "$HOME/.sdkman/bin/sdkman-init.sh"
RUN sdk install kotlin

得到错误
Step 10/35 : RUN sdk install kotlin
---> Running in 9282af532681
/bin/sh: sdk: command not found
ERROR: Service 'myproject' failed to build: The command '/bin/sh -c sdk install kotlin' returned a non-zero code: 127

最佳答案

FROM ubuntu:16.04
RUN apt-get update
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get -qq -y install curl
RUN apt-get install -y unzip
RUN apt-get install -y zip
RUN curl -s https://get.sdkman.io | bash
RUN chmod a+x "$HOME/.sdkman/bin/sdkman-init.sh"
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" && sdk install kotlin

每个 RUN 都有自己的“ session ”。所以RUN sdk install kotlin不会知道以前的source命令。

多个 RUN 不是最优的:每个 RUN 都会创建一个层。

看起来您想使用 Kotlin JVM 创建 docker 镜像。那么你需要标准openjdk:8-jdk (或者你想要什么版本)然后把你的jar文件放在那里。

关于docker - 在 ubuntu 镜像中安装 kotlin 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53663597/

相关文章:

python - 无法使用 PIP 升级 Scipy

android - Kotlin-共享原始资源中的音频文件

docker - docker 如何缓存层?

nginx - Dockerizing nginx 和 Flask

shell - 在ssh shell脚本中检查docker版本

mongodb - 在 ubuntu wsl2 systemd 上安装 MongoDB 问题 systemd 作为 init 系统(PID 1)

mongodb - 无法运行 mongodb 因为核心转储问题?

android - Kotlin 数据类的房间数据库错误

android - Android Jetpack Compose 中的文本渐变

docker - 无法从 kubernetes pod 内的 docker run 写入文件