Как включить Kerberos для команды монтирования в контейнере Docker? - PullRequest
0 голосов
/ 20 сентября 2018

Может кто-нибудь сказать мне, как заставить mount распознавать -o sec=krb5 как допустимый параметр в контейнере Docker или Dockerfile?

Требуется ли для Ubuntu 16.04 перезагрузка для mount для понимания Kerberos?Там, кажется, нет никакой информации об этом онлайн.Я нахожу только статьи о Red Hat, которые бесполезны.

Ниже приведен докер-файл, который я использовал, чтобы попытаться выяснить это.

FROM ubuntu:16.04
ADD krb5.conf krb5.keytab /etc/
RUN apt-get update && apt-get install -y krb5-user nfs-common

Я запускаю новый образ вконтейнер, использующий следующее.

sudo docker run --name test_krb --privileged -it test_krb /bin/bash

Внутри контейнера я могу использовать kinit без каких-либо проблем, поэтому я знаю, что Kerberos работает.Однако mount по какой-то причине этого не понимает.

Ниже приведена команда монтирования, которую я выполнял внутри контейнера вместе с выводом.

$ mount -vo sec=krb5,port=2050 <hostname>:/ /mnt/nfs
mount.nfs: timeout set for Thu Sep 20 04:06:45 2018
mount.nfs: trying text-based options 'sec=krb5,port=2050,vers=4,addr=X.X.X.X,clientaddr=X.X.X.X'
mount.nfs: mount(2): Invalid argument
mount.nfs: an incorrect mount option was specified

Я пробовал это на виртуальной машине, выполняющей те же команды, и она не удалась, так какхорошо, пока я не перезагрузил ВМ.Похоже, что перезагрузка необходима для этой работы, но я не уверен, как это сделать в контейнере / файле Docker.

Спасибо

...