首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker镜像中安装sdkman

在docker镜像中安装sdkman
EN

Stack Overflow用户
提问于 2018-12-07 01:13:37
回答 4查看 5.7K关注 0票数 2

安装时出现错误

docker镜像。

代码语言:javascript
复制
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 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"
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-10-26 22:52:12

确保你有curl,wget,unzip & zip。有了它们,我就能够成功地安装Sdkman。以下是我的Docker内容

代码语言:javascript
复制
FROM ubuntu:18.04

RUN apt-get update
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get -qq -y install curl wget unzip zip

RUN curl -s "https://get.sdkman.io" | bash
RUN source "$HOME/.sdkman/bin/sdkman-init.sh"
票数 3
EN

Stack Overflow用户

发布于 2018-12-07 01:44:27

TL;DR

安装

&

,这意味着改变

代码语言:javascript
复制
RUN apt-get -qq -y install curl

代码语言:javascript
复制
RUN apt-get -qq -y install curl unzip zip

或者更好

代码语言:javascript
复制
RUN apt-get -qq -y install \
    curl \
    unzip \
    zip

解释

当您尝试构建Dockerfile时,您将得到

代码语言:javascript
复制
.....

    Step 5/6 : RUN curl -s https://get.sdkman.io | bash
    ---> Running in 1ce678a59561

    --- SDKMAN LOGO ---

    Now attempting installation...

    Looking for a previous installation of SDKMAN...
    Looking for unzip...
    Not found.
    ======================================================================================================
    Please install unzip on your system using your favourite package manager.

    Restart after installing unzip.
    ======================================================================================================

    Removing intermediate container 1ce678a59561
    ---> 22211eafd50c
    Step 6/6 : RUN source "$HOME/.sdkman/bin/sdkman-init.sh"
    ---> Running in 1c5cb7d79ef0
    /bin/sh: /root/.sdkman/bin/sdkman-init.sh: No such file or directory
    The command '/bin/sh -c source "$HOME/.sdkman/bin/sdkman-init.sh"' returned a non-zero code: 1

你需要做的就写在那里。这部分:

代码语言:javascript
复制
======================================================================================================
    Please install unzip on your system using your favourite package manager.

    Restart after installing unzip.
    ======================================================================================================

安装unzip时,您会得到与zip相同的错误。安装后,一切工作正常。

因此,请阅读您的日志/命令输出。:-)

*

附言:如果你能做到这一点,那就更好了。

以非零代码退出。这样,它在下一条命令上就会失败。但这不是你可以解决的问题;)

*

票数 4
EN

Stack Overflow用户

发布于 2018-12-07 01:45:48

它看起来像是

sdkman

安装失败。当我在上面运行您的代码时,它抱怨缺少

包。

在满足依赖关系之后,您还需要使用以下命令将init脚本标记为可执行:

代码语言:javascript
复制
chmod a+x "$HOME/.sdkman/bin/sdkman-init.sh"

所以你的Dockerfile应该看起来像这样:

代码语言:javascript
复制
FROM ubuntu:16.04
RUN apt-get update
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get -q -y install curl zip unzip
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"

附言:被打得落花流水!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53656537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档