#docker #containers
#docker #контейнеры
Вопрос:
Пытаюсь настроить контейнер mysql в docker с установленным для безопасности флагом только для чтения, но сталкиваюсь с этой ошибкой:
[ОШИБКА] Не удалось создать файл блокировки сокета unix /var/run/mysqld/mysqld.sock.lock.
Попытка решить проблему путем монтирования / var / run / mysqld в качестве tmpfs, однако кажется, что пока контейнер доступен только для чтения, монтирование tmpfs также доступно только для чтения.
docker run --read-only --mount type=tmpfs,destination=/var/run/mysqld,tmpfs-mode=1777 mysql:5 touch /var/run/mysqld/test
touch: cannot touch '/var/run/mysqld/test': Read-only file system
Использование монтирования тома вместо tmpfs работает, но это не то, что я хочу делать:
docker run --read-only --mount destination=/var/run/mysqld mysql:5 touch /var/run/mysqld
Тестирование его в несуществующем каталоге также работает:
docker run --read-only --mount type=tmpfs,destination=/test,tmpfs-mode=1777 mysql:5 touch /test/test
И это работает, если вы удалите флаг «только для чтения» из контейнера:
docker run --mount type=tmpfs,destination=/var/run/mysqld,tmpfs-mode=1777 mysql:5 touch /var/run/mysqld/test
Это по дизайну или ошибка, или я пропускаю какие-то настройки?
Версия Docker 19.03.12, сборка 48a66213fe