如何在 Azure 服务应用程序上向 docker run 添加其他选项

Posted

技术标签:

【中文标题】如何在 Azure 服务应用程序上向 docker run 添加其他选项【英文标题】:How to add additional options to docker run on Azure Service App 【发布时间】:2021-02-24 03:54:50 【问题描述】:

我正在尝试运行docker run -i --rm -d --cap-add=SYS_ADMIN --name <azure-container> <azure-container-registry>/<image-name>:<tag>

默认情况下,容器是使用docker run -p port1:port2创建的

我想删除 -p 选项并添加 --cap-add=SYS_ADMIN ,每次使用应用服务从 azure 容器注册表创建容器时。

任何帮助表示赞赏。

问候, 奥鲁希

【问题讨论】:

您能否详细说明(在原始问题中)您要解决的问题是什么? 【参考方案1】:

很遗憾,将映像部署到 Azure Web App 时,无法自定义 docker 命令。它由 Azure 运行。您可以在 App Setting 中添加环境变量,但不能更改 docker 命令。

【讨论】:

感谢您的回复。 Service Fabric 也不可能吗?如果我的服务结构 CI/CD 管道正在从 Azure 容器注册表中获取映像并部署到我的服务结构 docker container(linux)? @AarushiMttal 我不在 Fabric 上工作。但这似乎是不可能的。 @AarushiMttal 有更新吗?它解决了你的问题吗?如果它适合你,请接受它。【参考方案2】:

如果不公开端口,您无法在应用服务上运行容器。它需要运行一个服务器进程才能变得“健康”。你可以use port 80 (default) or 8080。 此外,正如 Charles Xu 所说,您目前无法添加功能。

在 Service Fabric 中,您有 more 端口映射选项,但您仍应为 liveness 探测公开一个端口。 这里也没有上限添加支持。

【讨论】:

请不要以使它们看起来像问题的方式编写答案。有一些系统可以检查 Not An Answer (NAA) 帖子。这个答案被其中一个人错误地接受了。请考虑对其进行编辑以使其看起来更像一个答案。请询问“您能否详细说明(在原始问题中)您要解决的问题是什么?”参加 cmets。 (将此评论标记为“不再需要”)

以上是关于如何在 Azure 服务应用程序上向 docker run 添加其他选项的主要内容,如果未能解决你的问题,请参考以下文章

在Docker上向/从主机系统写入和读取文件

如何在 websocket 服务器上向特定用户发送消息

如何使 Azure 应用服务容器崩溃

Azure 应用服务 Docker Linux 部署 - 我的文件在哪里?

如何使用 TeamCity 在 Azure Service Fabric 中自动部署 Docker 容器?

如何从 Azure 容器应用服务向 Azure ACR 进行身份验证