安装时出现错误
在
docker镜像。
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"发布于 2019-10-26 22:52:12
确保你有curl,wget,unzip & zip。有了它们,我就能够成功地安装Sdkman。以下是我的Docker内容
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"发布于 2018-12-07 01:44:27
TL;DR
安装
&
,这意味着改变
RUN apt-get -qq -y install curl至
RUN apt-get -qq -y install curl unzip zip或者更好
RUN apt-get -qq -y install \
curl \
unzip \
zip解释
当您尝试构建Dockerfile时,您将得到
.....
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你需要做的就写在那里。这部分:
======================================================================================================
Please install unzip on your system using your favourite package manager.
Restart after installing unzip.
======================================================================================================安装unzip时,您会得到与zip相同的错误。安装后,一切工作正常。
因此,请阅读您的日志/命令输出。:-)
*
附言:如果你能做到这一点,那就更好了。
以非零代码退出。这样,它在下一条命令上就会失败。但这不是你可以解决的问题;)
*
发布于 2018-12-07 01:45:48
它看起来像是
sdkman
安装失败。当我在上面运行您的代码时,它抱怨缺少
和
包。
在满足依赖关系之后,您还需要使用以下命令将init脚本标记为可执行:
chmod a+x "$HOME/.sdkman/bin/sdkman-init.sh"所以你的Dockerfile应该看起来像这样:
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"附言:被打得落花流水!
https://stackoverflow.com/questions/53656537
复制相似问题