1
Ошибка ‘Permission denied’ при монтировании тома в Podman на RHEL 8.1
В Podman я запускаю контейнер как root, но не могу получить доступ к смонтированному тому. Команда ls -lh выдаёт ошибку “Permission denied”, как и команда cat test.c при попытке доступа к файлу /host/foobar/test.c.
Мой Dockerfile:
# Используем Alpine Linux как базовый образ
FROM alpine:latest
# Устанавливаем необходимые пакеты
RUN apk --no-cache add bash gcc make
# Создаём директорию для исходного кода
RUN mkdir /src_dir
# Устанавливаем рабочую директорию
WORKDIR /src_dir
# Настраиваем том
VOLUME [ "/src_dir" ]
Собираю образ и запускаю контейнер командами:
podman build -t my_image
podman run -it -v /host/foobar:/src_dir /bin/bash
Как решить эту проблему?
Ответы
Роман Николаев
(Изменено)
Проблема может быть связана с политикой SELinux на хосте. Когда SELinux включён, могут возникать проблемы с правами доступа к смонтированным томам.
Чтобы разрешить Podman доступ к смонтированным томам, нужно добавить опцию :z при монтировании тома. Опция укажет SELinux разрешить доступ к смонтированному тому как для контейнера, так и для хоста.
Команда запуска контейнера будет такой: