Если вы используете официальный mariadb
образ Docker , сценарий docker-entrypoint.sh
требует, чтобы путь /var/lib/mysql
был доступен для записи пользователю, от имени которого вы запускаете контейнер. В противном случае контейнер не запустится
В вашем docker-compose.yml
вы определили именованный том db
, который должен быть подключен к контейнеру db
. Если вы не создаете именованный том db
перед выполнением docker-compose up
, то каталог /var/lib/mysql
внутри тома, вероятно, создается с неправильными разрешениями, поскольку вы обычно являетесь привилегированным пользователем при запуске docker-compose
.
У вас всегда должна быть возможность просмотреть том с хоста, вы также можете подключить том к новому контейнеру для чтения -только для просмотра (минимальное или пустое изображение работает лучше всего ). С хоста вы можете запустить docker volume inspect db
, чтобы получить расположение файла, соответствующее хосту, запустить docker volume list
, чтобы увидеть, не назвал ли том по-другому композицию docker -. Если у вас нет серверной части с экзотическими файлами, вы сможете напрямую chown
указать необходимые каталоги в UID пользователя из контейнера.
Все это необходимо сделать до того, как вы попытаетесь запустить docker-compose
кластер, предварительно создав db
именованный том и убедившись, что необходимые каталоги имеют соответствующие разрешения.
https://bbs.archlinux.org/viewtopic.php?pid=1965434#p1965434
Я нашел ответ на этом форуме. По-видимому, для работы достаточно установить прошивку sof -alsa -ucm -conf.