我确实从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