Android 确定docker中的操作系统类型
我想根据docker映像运行的操作系统类型下载sdk。如何在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
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