我正在创建一个PHP应用程序,并使用Docker + Docker Compose运行它。
我的问题是,我希望用户能够在任何操作系统上轻松运行我的项目。但是,ARM处理器(例如Raspberry Pi)不支持官方的mysql:latest
映像,因此必须切换到hypriot/rpi-mysql
。
是否可以在一个Compose文件中或针对每个平台使用单独的文件进行此操作?还是用户在克隆项目时需要手动交换YML文件?
答案 0 :(得分:1)
您可以将项目拆分为多个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 ...