例子

例子

我确实从dockerhub中提取了:

docker pull mysql

在其 Dockerfile 中,我看到:

FROM debian:stretch-slim

但是当我运行容器时:

sudo docker run -it mysql /bin/bash

在容器中我写入命令:

uname -a

输出为:

Linux 050e1a4b22ed 4.18.0-18-generic #19-Ubuntu SMP Tue Apr 2 18:13:16 UTC 2019 x86_64 GNU/Linux

如果 dockerfile 中的基础镜像是 debian:stretch-slim,为什么操作系统是 Ubuntu?

答案1

Docker容器使用其主机的内核,并且您的主机正在运行 Ubuntu 内核。

容器是由创建的孤立实例操作系统级虚拟化。在 Linux 上,容器在主机的内核上运行,因此容器的uname内核发行版和版本输出将与主机的相同。


例子

主机运行的是Ubuntu 18.04,内核版本为4.18.0-18-generic,操作系统级虚拟化实现是LXC(类似于Docker)。

deltik@host [~]$ lxc launch -s 本地镜像:debian/10 demo
创建演示
开始演示
deltik@host [~]$ uname -a
Linux 主机 4.18.0-18-通用 #19~18.04.1-Ubuntu SMP 星期五 4 月 5 日 10:22:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Debian 10 容器

deltik@host [~]$ lxc exec demo -- bash
root@demo:~# cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux buster/sid"
名称=“Debian GNU/Linux”
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@demo:~# uname -a
Linux 演示 4.18.0-18-通用 #19~18.04.1-Ubuntu SMP 星期五 4 月 5 日 10:22:13 UTC 2019 x86_64 GNU/Linux

CentOS 7 容器

deltik@host [~]$ lxc launch -s 本地镜像:centos/7 demo
创建演示
开始演示
deltik@host [~]$ lxc exec demo -- bash
[root@demo ~]# cat /etc/*-release
CentOS Linux 版本 7.6.1810(核心)
名称=“CentOS Linux”
版本=“7(核心)”
ID=“centos”
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (核心)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux 版本 7.6.1810(核心)
CentOS Linux 版本 7.6.1810(核心)
[root@demo ~]# uname -a
Linux 演示 4.18.0-18-通用 #19~18.04.1-Ubuntu SMP 星期五 4 月 5 日 10:22:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Gentoo 容器

deltik@host [~]$ lxc launch -s 本地镜像:gentoo demo
创建演示
开始演示
deltik@host [~]$ lxc exec demo -- bash
演示〜# cat /etc/*-release
Gentoo 基础系统版本 2.6
名称=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo/Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
演示〜# uname -a
Linux 演示 4.18.0-18-通用 #19~18.04.1-Ubuntu SMP 星期五 4 月 5 日 10:22:13 UTC 2019 x86_64 Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz 正版英特尔 GNU/Linux

相关内容