我在 Windows 8.1 上安装了 Docker Toolbox,并且正在创建基于 ubuntu:latest(应该是 16.04)的映像。我想确保我的应用程序确实在 16.04 上运行。这是我的 Dockerfile:
FROM ubuntu:latest
MAINTAINER xyz [email protected] /cdn-cgi/l/email-protection
COPY apt.conf /etc/apt/
RUN apt-get -y update
RUN apt-get -y install cmake
RUN mkdir /usr/local/
COPY folder /usr/local/
RUN mkdir /usr/local/build
CMD cd /usr/local/build
CMD cmake /usr/local/
构建图像后,我尝试运行:
docker run image uname -r
但它总是返回4.4.12 boot2docker
现在我知道 boot2docker 是轻量级 Linux 虚拟机,容器在 Windows 上运行,但是运行该映像不应该给我它正在运行的 ubuntu 版本吗?我如何验证这一点?
The uname
命令正在从主机上运行的内核中提取规格。如果我在 Debian 主机上输入 Ubuntu 容器,uname 将使用 Debian 版本的内核进行响应。
要了解您正在运行的 Ubuntu 版本,请执行以下操作
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
这是 shell 脚本友好的简单变量,因此您可以运行
#!/bin/sh
if [ ! -f /etc/lsb-release ]; then
echo "lsb-release missing, unlikely to be a Ubuntu system"
exit 1
fi
. /etc/lsb-release
if [ "$DISTRIB_ID" != "Ubuntu" -o "$DISTRIB_RELEASE" != "16.04" ]; then
echo "Linux install doesn't appear to be Ubuntu 16.04"
exit 1
fi
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)