对为什么这个初学者的 Dockerfile 在 Windows 上工作感到困惑

Confused about why this beginner's Dockerfile works on Windows

我正在使用 Windows 10,并且我安装了 WSL2

我已经安装了 Docker Desktop,并成功构建和 运行 以下 Dockerfile:

FROM php:7.2-apache
COPY src/ /var/www/html
EXPOSE 80

其中 /src 有一个简单的 index.php 文件,如下所示:

<?php
echo "Hello World";

当我在浏览器上访问 localhost 时,它确实显示“Hello world”,所以一切正常。

当我在 Docker Hub 上查看时,我实际上看不到任何针对 php 的标签有 Windows 的标签。我认为图像必须匹配 OS

所以我的问题是:为什么这完全有效?该软件是否在幕后使用 WSL2?

是的,它使用 WSL2 到 运行 Linux 容器