确定Docker中的操作系统类型

时间:2018-07-11 13:27:50

标签: android bash amazon-web-services docker dockerfile

我想根据运行docker映像的操作系统类型下载一个sdk。如何在Docker脚本中编写以下伪代码

RUN variable x = getOS()
if [ "$x" = "Darwin" ]; then
     RUN wget -q http://xxx/android-ndk-xxxx-darwin-x86_64.bin
else
     RUN wget -q http://xxx/android-ndk-xxxx-linux-x86_64.bin

1 个答案:

答案 0 :(得分:1)

使用uname命令。

x=$(uname)

在darwin系统上,它应输出Darwin

在您的dockerfile中,RUN命令如下所示:

RUN [ "$(uname)" = Darwin ] && system=darwin || system=linux; \
    wget -q http://xxx/android-ndk-xxxx-${system}-x86_64.bin

或者像这样(为了支持任意系统):

RUN system=$(uname); \
    wget -q http://xxx/android-ndk-xxxx-${system,}-x86_64.bin