为什么 Docker 镜像不基于当前的 GNU/Linux 发行版

为什么 Docker 镜像不基于当前的 GNU/Linux 发行版

我在跑Docker CE在 CentOS 7 上,但是当我进入容器时,我可以看到它基于 Debian:

$ sudo docker exec -it 0123456789ab bash
# cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

是否可以使用基于 CentOS 的镜像代替 Debian 作为容器(例如使用类似 的命令visudo)?为什么这不是默认行为,因为我使用的是 CentOS?谢谢。

注意,我安装了DockerDocker 组成然后我创建了一些镜像(Python、Postgres、Redis)。我从未安装过 CentOS 或 Debian 镜像。不过所有容器都使用 Debian 版本。

答案1

Docker 镜像不是基于您当前运行的 Linux 发行版创建的,而是基于 Dockerfile 中定义的基础镜像创建的。Docker 官方镜像提供基于不同操作系统的 Docker 镜像,因此你必须根据操作系统选择镜像

相关内容