Docker 上的 Azure FileShare 返回无法应用新功能集

问题描述

我正在使用 MysqL Docker 容器,我想在其中使用 Azure 文件共享。要创建 MysqL Docker 容器,我使用以下 Buildscript。

FROM MysqL:5.7
RUN apt-get update && apt-get upgrade && apt-get install sudo
RUN sudo apt install cifs-utils -y
RUN sudo apt-get install curl -y
RUN cd home 
RUN mkdir install
RUN cd install
RUN curl curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

当我进入这个容器时,我使用从 Azure 门户中选择的以下命令并创建一个 bash 脚本。

enter image description here

当我执行脚本时,出现此错误

无法应用新的功能集。

你能帮我将 Azure 文件共享挂载到 Linux 吗!

非常感谢,

埃里克

解决方法

为了能够挂载 Azure 文件共享,您需要向容器添加“功能”。见https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

在这种情况下,如果您运行 docker run --cap-add=SYS_ADMIN --cap-add=DAC_READ_SEARCH my_image(添加这两个 --cap-add 选项),那么您的容器将能够装载共享。