我正在创建一个PHP应用程序,并使用Docker + Docker编写来运行它。
我的问题是,我希望用户能够在任何操作系统上运行我的项目,没有任何麻烦。但是,ARM处理器(如Raspberry )不支持官方的mysql:latest映像,因此必须切换到hypriot/rpi-mysql。
是否可以在一个组合文件中或为每个平台使用单独的文件来完成此操作?或者当用户克隆项目时,他们必须手动交换YML文件吗?
发布于 2018-11-29 16:40:51
您可以将您的项目分成几个YAML文件,将与操作系统无关的内容放入一个文件中,将独立于操作系统的内容放入其他文件中。您的文件看起来如下:
docker-compose.yml -- common stuff lives here
docker-compose-x64.yml -- lots of OS-dependent services for x64
docker-compose-arm.yml -- lots of OS-dependent services for arm然后,您只需以以下方式启动它:
# for x64
docker-compose -f docker-compose.yml -f docker-compose-x64.yml up ...
# for arm
docker-compose -f docker-compose.yml -f docker-compose-arm.yml up ...发布于 2022-05-05 13:29:28
菲伊:现在有更好的答案了。您可以构建一个支持多个CPU:https://docs.docker.com/desktop/multi-arch/的映像
https://stackoverflow.com/questions/53543445
复制相似问题