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

Posted

技术标签:

【中文标题】Docker 上的 Azure FileShare 返回无法应用新功能集【英文标题】:Azure FileShare on Docker returns Unable to apply new capability set 【发布时间】:2021-06-18 07:32:25 【问题描述】:

我正在使用 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 脚本。

当我执行脚本时,我得到这个错误:

无法应用新的能力集。

你能帮我把 Azure 文件共享挂载到 Linux 吗?

非常感谢,

埃里克

【问题讨论】:

【参考方案1】:

为了能够挂载 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 选项),那么您的容器将能够挂载共享。

【讨论】:

以上是关于Docker 上的 Azure FileShare 返回无法应用新功能集的主要内容,如果未能解决你的问题,请参考以下文章

创建 VM 时将 Azure Fileshare 挂载到 Azure VM

Azure Fileshare - 在没有备份服务的情况下还原快照

根据文件名限制 Azure FileShare 中的文件创建

IBM Bluemix体验:Containers持久存储

将文件上传到 Azure 存储文件共享的脚本

如何在Azure上链接docker容器?