验证 Docker 容器中运行的 ubuntu 版本

2024-03-24

我在 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(使用前将#替换为@)

验证 Docker 容器中运行的 ubuntu 版本 的相关文章

随机推荐

  • foreach 中对 Dictionary 的解构

    在 C 7 中是否可以在字典的 foreach 循环中使用解构 像这样的事情 var dic new Dictionary
  • Objective-C 前向调用:

    我经常做这样的事情 CoolViewController coolViewController CoolViewController alloc init self navigationController pushViewControll
  • VBA 函数避免使用 If 语句

    我正在构建一个非常复杂的 VBA 工作簿 运行大部分代码的问题之一是性能 我有一个内置函数 或多或少可以执行以下操作 Public Function zzz xxx as String as String if xxx apple then
  • 如何在 gradle.properties 文件中声明列表?

    当我尝试在 gradle properties 文件中编写类似的内容时 defaultTasks deploy 我收到下一条消息 BUILD FAILED FAILURE Build failed with an exception Wha
  • 绝对导入:React 和 Typescript

    背景 我有一个使用引导的 React 应用程序create react app和打字稿 随着应用程序的增长 goal 我想实现绝对导入 我正在使用 VS Code Visual Studio Code 只需很少的配置 我就可以让 TS 和
  • template-id 与任何模板声明都不匹配

    我遇到了令人沮丧的编译器错误 我似乎无法解决 这与模板专业化有关 但我看不出有什么问题 include thread lock guard inl 23 error template id lock guard lt gt for thre
  • 如何在 Sass 中强制 CSS 变量为整数?

    如果这是一个简单的问题 请原谅我 但我正在 CodePen 上解决这个问题 并且不知道发生了什么 我有代码 root ile 10 for i from 0 to var ile 问题是 Codepen 声称 var ile 不是整数 嗯
  • Swift 3 本地通知未触发

    我有以下设置 并且根本没有通知被触发 基于堆栈上的其他类似问题 我为每个请求添加了唯一标识符 并将正文添加到了内容中 我有这个请求用户许可的功能 func sendIntNotifications 1 Request permission
  • 替换具有错误高程值的片段

    你好 堆栈溢出 我还有另一个片段问题 我使用的是 android app Fragment 不支持片段 我正在尝试替换一个片段 但这并不像使用那么简单 fragmentTransaction replace containerId newF
  • Akka 的语言和产品替代品是什么?

    现在我正在看游戏框架 https www playframework com 并且非常喜欢它 Play 中提供的功能中最受宣传的部分之一是Akka http akka io 为了更好地理解 Akka 以及如何正确使用它 您能告诉我其他语言或
  • 无法安装 libc6 软件包

    esrsank PG04954 sudo apt get install libc6 i386 Reading package lists Done Building dependency tree Reading state inform
  • getExternalCacheDir() 清除数据后返回 null

    我有一个简单的应用程序 可以访问数据并将数据写入外部存储 一切正常 直到我进入 设置 gt 应用程序 gt 应用程序信息 并通过 清除数据 按钮清除数据 然后每次调用getExternalCacheDir 开始返回 null 我一直在运行
  • 当尝试获取应用程序方向时,“statusBarOrientation”在 iOS 13.0 中已被弃用

    简单地说 我依靠以下代码来提供应用程序的方向 在应用程序中使用它有几个原因 根据 UX 规范 stackview 的布局是根据 iPad 的方向设置的 横向时为水平 纵向时为垂直 在上一项的基础上 stackview 被放置在屏幕的左侧 纵
  • Visual Studio 2017 重构不适用于 F#

    我有项目在F 我正在尝试VisualStudio2017 我尝试重构代码并使用内联 但此菜单项不可用 另外当我点击Rename什么都没发生 为什么不可用 如何强制refactor操作才能工作 let blobToBlobWithInfo b
  • MySQL 有没有办法将 IN 和 LIKE 结合起来?

    我目前正在运行这样的查询 SELECT FROM email WHERE email address LIKE ajones OR email address LIKE bsmith OR email address LIKE cjohns
  • 使用 Ruby 生成 Gmail IMAP 访问的 SASL XOAUTH2 客户端响应

    我正在尝试使用 Ruby 中的 XOAUTH2 通过 IMAP 访问我的 Gmail 电子邮件 我已通过使用 OAuth 2 0 进行身份验证 成功生成了访问令牌 和刷新令牌 oauth2 https github com intridea
  • 如何在 R 中聚合关闭时间事件

    我需要能够包含事件的数据帧 并输出运行的开始 结束和计数 其中运行是事件一起小于指定时间段的情况 data frame 行已经按时间排序 e g library lubridate ts lt c 2016 10 28 19 21 19 2
  • (节点:11684)[DEP0062] 弃用警告:`node --inspect --debug-brk` 已弃用。请改用“node --inspect-brk”

    自从升级 NodeJs 以来 我从 Visual Studio 2017 运行 Nodejs 时收到此错误 断点也不起作用 有任何解决这个问题的方法吗 笔记 VS版本是15 5 6 NodeJS 版本 8 9 4 我遇到了同样的问题 以下内
  • 获取重载静态函数的地址[重复]

    这个问题在这里已经有答案了 可能的重复 如何指定指向重载函数的指针 https stackoverflow com questions 2942426 how to specify a pointer to an overloaded fu
  • 验证 Docker 容器中运行的 ubuntu 版本

    我在 Windows 8 1 上安装了 Docker Toolbox 并且正在创建基于 ubuntu latest 应该是 16 04 的映像 我想确保我的应用程序确实在 16 04 上运行 这是我的 Dockerfile FROM ubu