我可以更改 Docker 在 macOS 上使用的 Linux 内核吗?

Can I change the Linux kernel that Docker uses on macOS?

Q1:我可以更改 Docker 在 macOS 上使用的 Linux 内核吗?

Q2:Docker什么时候升级Linux内核版本?

目前,截至:

21 Sep 2020, up-to-date Docker Desktop v2.3.0.5 (48029), Engine 19.03.12

它正在使用 Linux 内核 4.19.76(2018 年 10 月 22 日发布)。 我希望它在更新的内核上
(例如,Linux 5.8 于 2020 年 8 月 2 日发布;Linux 5.0 于 2019 年 3 月 3 日发布。

$ docker run -it alpine uname -a
Linux f745312f5a3e 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 Linux

相关:

Can I change the kernel used in Docker for Windows?
https://kernelnewbies.org/LinuxVersions

Q1: Can I change which Linux kernel that Docker uses on macOS?

安全简单的回答:否。除非你想mess-up直接使用docker桌面Mac在安装时为你部署的Hyperkit VM。我不使用 Mac,我不知道这甚至是可能的,强烈建议你不要走那条路,除非你真的知道你在做什么,并准备好在这中断时重新安装所有东西。

Q2: When does Docker upgrade the Linux kernel version?

当该更改合并到新版本中并在 Docker for mac release notes 上公布时。最新内核升级于 2020-05-27。

话虽如此,docker 仅使用其安装位置 OS/VM 的底层内核。如果您出于非常具体的原因确实需要不同的内核,您始终可以使用您想要的确切内核并行部署您自己的自定义 vm,在那里安装 docker 引擎并使用它。

Docker 使用自己的补丁内核(以​​及专门的 Linux 发行版),称为 linuxkit in Docker Desktop. It is mentioned in https://hub.docker.com/r/docker/for-desktop-kernel.

我能够在我的 Docker 的应用程序文件夹内的名为 linuxkit 的文件夹中找到 kernelinitrd.imgcmdline Mac 安装.

只需使用 linuxkit 的 instructions/patches 构建您自己的内核并替换这些文件。