前文提到MacOS 10.15上无法通过Homebrew安装最新版本的docker,自然想到了去安装更早版本的docker。在MacOS上安装Docker Desktop比安装Docker Engine要更方便一些,具体原因可以自己搜索。通过Docker Desktop的Release notes得知最后一个支持MacOS 10.15的版本是4.15.0(因为4.16.0版本的介绍里提到“Minimum OS version to install or update Docker Desktop on macOS is now macOS Big Sur (version 11) or later”)。在Docker desktop for mac 历史版本下载大全os10.15/11/12找到了该版本的下载地址,下载后顺利安装Docker Desktop。
成功安装Docker Desktop后,按照新手引导clone了docker getting started。执行docker build命令遇到了错误 ModuleNotFoundError: No module named 'cgi'
从 Python 3.13 compatibility Issue 看来,错误原因是当前最新的getting-started里的dockerfile使用了python:alpine这个base image(getting-started/Dockerfile),它内置了Python 3.13,而htmlmin与Python 3.13不兼容。
FROM --platform=$BUILDPLATFORM python:alpine AS base
解决方法很简单,修改dockerfile,把base image从python:alpine改为python:3.12-alpine,也就是使用了python 3.12的alpine即可(更多python版本的image可以在这里找到)。