Изменение образа в Docker Compose в зависимости от операционной системы хоста - PullRequest
0 голосов
/ 29 ноября 2018

Я создаю приложение PHP и использую Docker + Docker Compose для его запуска.

Моя проблема в том, чтобы пользователи могли без проблем запускать мой проект на любой ОС.Однако официальный образ mysql:latest не поддерживается на процессорах ARM (таких как Raspberry Pi), и поэтому должен быть переключен на hypriot/rpi-mysql.

Возможно ли сделать это либо в пределах одного Composeфайл или с отдельными файлами для каждой платформы?Или пользователям придется вручную менять файл YML при клонировании проекта?

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете разбить ваш проект на несколько файлов 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 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...