在docker映像中安装sdkman
安装在docker映像中安装sdkman,docker,ubuntu,sdk,docker-compose,Docker,Ubuntu,Sdk,Docker Compose,安装SDKMAN时出错在ubuntu16.04docker图像中 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 sour
SDKMAN时出错代码>在ubuntu16.04
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"
TL;博士
安装unzip
&zip
,这意味着更改
RUN apt-get -qq -y install curl
到
或者更好
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也会出现同样的错误。安装后,一切正常
因此,请阅读日志/命令输出。:-)
*另外,如果curl-S会更好https://get.sdkman.io |bash
以非零代码退出。这样,它在下一个命令中失败。但这不是你能解决的;)* TL;博士
安装unzip
&zip
,这意味着更改
RUN apt-get -qq -y install curl
到
或者更好
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也会出现同样的错误。安装后,一切正常
因此,请阅读日志/命令输出。:-)
*另外,如果curl-S会更好https://get.sdkman.io |bash
以非零代码退出。这样,它在下一个命令中失败。但这不是你能解决的;)* 看来安装失败了。
当我在上面运行代码时,它抱怨缺少unzip
和zip
包
满足依赖项后,还需要使用以下命令将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"
附言:被打败了 看来安装失败了。
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get -qq -y install \
curl \
unzip \
zip
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"
当我在上面运行代码时,它抱怨缺少unzip
和zip
包
满足依赖项后,还需要使用以下命令将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"
附言:被打败了 确保您有卷发、wget、解压和压缩。有了它们,我能够成功地安装Sdkman。以下是我的Docker内容
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get -qq -y install \
curl \
unzip \
zip
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"
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"
确保你有卷发,wget,解压和拉链。有了它们,我能够成功地安装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"
来自ubuntu:16.04运行apt get update运行apt get-qq-y安装\curl\unzip\zip运行rm/bin/sh&&ln-s/bin/bash/bin/sh运行apt get-qq-y安装curl运行curl-shttps://get.sdkman.io |bash运行chmod a+x“$HOME/.sdkman/bin/sdkman init.sh”运行源“$HOME/.sdkman/bin/sdkman init.sh”
来自ubuntu:16.04运行apt get update运行apt get-qq-y安装\curl\unzip\zip运行rm/bin/sh&&ln-s/bin/bash/bin/sh运行apt get-qq-y安装curl运行curl-shttps://get.sdkman.io |bash运行chmod a+x“$HOME/.sdkman/bin/sdkman init.sh”运行源“$HOME/.sdkman/bin/sdkman init.sh”为什么不使用它?为什么不使用它?我在SDK中找不到SDK命令,如果我需要在SDKMAN中安装一个库,如果你的答案中有这些步骤的话,会有什么遗漏吗?如果我需要在你的答案中的这些步骤之后从sdkman安装一个库,是否缺少一些东西?