Docker, AWS -EKS: Docker -build команда, монтирование Davfs не работает, нет свободного устройства coda для монтирования - PullRequest
4 голосов
/ 28 марта 2020

Я работаю над монтажом DAVFS тома внутри docker контейнера.

Многие документы предлагают использовать команду privileged run ... Но я пытаюсь создать из нее образ docker.

Я получаю сообщение об ошибке:

нет свободного устройства coda.

Есть идеи, что я делаю неправильно? Я использую AWS EKS для развертывания этого образа. Если есть возможность сделать это с EKS, этот ответ также приемлем.

DockerFile:

RUN apt-get update && apt-get install -y fuse davfs2 ca-certificates
RUN mkdir /mnt/ftp/
ARG WEB_DAV_URL=DAVFS_URL
RUN echo "DAVFS_URL DAVFS_USERNAME DAVFS_PASSWORD" >> /etc/davfs2/secrets
RUN mount.davfs $WEB_DAV_URL /mnt/

CMD service php7.2-fpm restart && cd /etc/apache2/ && apachectl -d /etc/apache2 -e info -DFOREGROUND

Журнал ошибок:

mount.davfs: loading kernel module fuse
mount.davfs: loading kernel module fuse failed
mount.davfs: waiting for /dev/fuse to be created
mount.davfs: can't open fuse device
mount.davfs: trying coda kernel file system
mount.davfs: no free coda device to mount

Примечание: Мне нужно что-то для docker build, а не для docker run ... Поскольку я использую EKS, docker run не применяется ... :-) Есть способ сделать это через Docker run, чтобы добавить CAP_ADD.

1 Ответ

0 голосов
/ 20 апреля 2020

вы можете использовать PersistentVolume в вашем модуле при запуске. Вы должны проверить плагин тома, которые поддерживают DAVFS. и чтобы добавить Capabilities в ваш модуль, вы можете использовать модуль securityContext в своих модулях. см. ссылку ниже:

https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

...