Docker Desktop如何选择要运行的Linux版本?

k75qkfdt  于 2023-01-01  发布在  Docker
关注(0)|答案(1)|浏览(353)

我正在Windows上运行Docker桌面。我有以下设置:

运行wsl命令确认Ubuntu为默认发行版

这是否意味着当我启动一个容器时,它将在Ubuntu上运行?
当我旋转一个容器时,我看到它运行Debian。

# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
#

为什么Debian比Ubuntu更受欢迎?

    • 更新**:

因此,运行Linux版本的容器在Dockerfile中指定。在Dockerfile中,基本映像被设置为FROM mcr.microsoft.com/dotnet/sdk:6.0。我猜在该映像中,Microsoft指定了Linux的风格。虽然there are images for all OS versions,但我不确定它如何选择Debian。

q3aa0525

q3aa05251#

Docker桌面资源设置中的“Ubuntu”选项意味着您 * 可以 * 在该发行版 * 内 * 运行docker和相关命令。如果您取消选择Ubuntu发行版,您仍然可以从PowerShell和CMD运行docker,但在Ubuntu内无法运行。
如果您有多个WSL发行版,指定您希望为Docker Desktop激活的发行版是很有用的,因为只要Docker Desktop在运行,* 所有 * 选定的发行版都会 * 持续 * 运行。
正如注解中提到的,container 的分布(如果有)由容器的Dockerfile(可能是上游)决定,但是,请记住,容器甚至不需要分布,它可以像单个静态链接的二进制文件一样简单。
对于您给出的示例,如果提取“default”(:latest),则您将在the container's page上的“Full Tag Listing”中看到标记latest是其他一些靶心标记的同义词:

  • 第一个五个一个x、第一个六个一个x、第一个七个一个x、第一个八个一个x、第一个九个一个x、第一个十个一个x、第一个十一个一个x

在某个时候,latest将被重新分配到一个更新的(a).NET SDK,和(b)Debian发行版(虽然不太频繁,显然)。

相关问题