Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 确定docker中的操作系统类型_Android_Bash_Amazon Web Services_Docker_Dockerfile - Fatal编程技术网

Android 确定docker中的操作系统类型

Android 确定docker中的操作系统类型,android,bash,amazon-web-services,docker,dockerfile,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 使用uname命令 x=$(unam

我想根据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

使用
uname
命令

x=$(uname)
在达尔文系统上,它应该输出
darwin

在dockerfile中,RUN命令可能如下所示:

RUN [ "$(uname)" = Darwin ] && system=darwin || system=linux; \
    wget -q http://xxx/android-ndk-xxxx-${system}-x86_64.bin
或者像这样(为了支持任意系统):


您想知道操作系统是与所有容器共享的主机内核,还是操作系统是由单个容器使用的基本映像(文件系统)?为什么需要依赖于主机操作系统类型的Dockerfile?这与Docker的
构建一次,在任何地方运行
的目标背道而驰,很可能行不通
RUN system=$(uname); \
    wget -q http://xxx/android-ndk-xxxx-${system,}-x86_64.bin