【问题标题】:Run a command within a container within Azure App Service在 Azure 应用服务的容器内运行命令
【发布时间】:2021-05-07 21:47:10
【问题描述】:

我在 Linux 中托管了一个运行自定义容器的应用服务。我的应用程序正在运行,但我想以指定的时间间隔运行和安排命令。为简单起见,假设我想每小时运行一次ls 命令。我想到了三个选项:

  1. 在容器中运行它们。现在我有一个问题,cron 命令不存在,但即使存在,它会持续存在吗?据我了解,容器会在重启、扩展等时重新创建。
  2. 通过执行某种将在容器内执行命令的azpowershell 命令来使用 Azure 中的任何其他服务,例如自动化作业。有这样的命令吗?我确实找到了一个,但它特定于 Azure 的容器服务,而不是应用服务。
  3. 使用 Azure 中任何其他可以通过 SSH 执行命令的服务。这可能吗?

也许还有其他选择?更原生的东西,比如 WebJobs(不适用于 Linux)?

【问题讨论】:

    标签: azure azure-web-app-service containers


    【解决方案1】:

    我个人只是将cron 添加到容器映像中,然后在容器内安排作业。例如,对于 Ubuntu 映像,将以下内容添加到 Dockerfile:

    RUN apt-get update \
        apt-get install -y cron
    

    然后根据容器的运行方式,您可以修改容器启动以修改 crontab 并启动 cron,或者将其构建到容器映像中。

    任何内置到容器镜像中的东西都会保留,任何在容器运行时执行的东西在重启后都不会保留。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多