Docker - 这两个 MySQL Docker 镜像有什么区别吗?

51
3个回答

36

这两张图片并不完全相同。"官方"的图片基于Debian(请参见Dockerfile),而Oracle的图片基于Oracle Linux(请参见Dockerfile)。两者都基于社区软件包。

我不能推荐哪个图片,这取决于个人喜好,是Debian还是基于RedHat的操作系统分发版。它们的入口点不同。如果您在它们之间看到明显的区别,这可能是决定性的(没有深入研究,但官方的入口点似乎更加功能齐全)。


9
Oracle的版本是官方版本的一个分支,基础镜像进行了更改。入口脚本似乎是相同的。我猜Oracle只是想找一种控制更新并且整个层级都使用Oracle产品(例如Oracle Linux而不是Debian)的方式。 - Andy Shinn
1
此外,与 Debian 版本相比,至少在 5.7.32 版本中,Oracle 的版本似乎是一个更小的镜像:mysql 5.7.32 (449MB) vs mysql/mysql-server 5.7.32 (360MB) - Octavio Luna

8

另一个现在非常重要的区别是,除了AMD64版本外,基于Oracle的Docker镜像还提供ARM64/v8版本。例如,这使得您可以在使用苹果芯片的M1 Mac上无需虚拟化即可运行该镜像。

因此,如果您正在运行X86架构,请选择您喜欢的版本。如果您正在运行ARM架构,则选择Oracle镜像以获得最佳性能。


似乎官方镜像现在也已经添加了ARM支持,所以两者都可以使用。 - Ecker00

0
我发现一个区别:Oracle镜像中没有mysqlshow命令。
这个差异对我非常关键,因为我使用该命令来验证数据库创建,以便在数据库准备就绪之前不会启动网站容器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接