【问题标题】:Mount a volume while using a docker container in Azure App Service在 Azure 应用服务中使用 docker 容器时装载卷
【发布时间】:2017-10-02 04:44:18
【问题描述】:

我在 Azure 上部署了 Web App,并使用公共注册表(我自己的映像)中的 Docker 容器来托管我的网站。但用户可以上传图片,数据存储在服务器上的 json-files 中。当然,我想将这些文件写入容器外的已安装卷中。这样我就可以在不丢失数据的情况下重新部署我的网站的更新版本。

Web 应用程序可以做到这一点吗?或者我是否需要继续使用 Azure 上的 Docker 的 Ubuntu VM?我喜欢 webapps 的地方在于我不必担心管理虚拟机,只关心我的容器。

【问题讨论】:

  • 你用Web app on Linux还是其他人?
  • @Walter-MSFT 是的,我愿意(或:做过)。 TBH:我已经转移到另一个云提供商。
  • 据我所知,Web app on Linux 不支持挂载卷。您现在使用的云提供商是什么?您可以在 Ubuntu VM 上选择 Docker。您可以将 Azure 文件共享挂载为卷。
  • @Walter-MSFT 但这不是我想要的。当我唯一关心的是 docker 容器时,我不想维护 VM。
  • @Walter-MSFT 我使用 Kubernetes 迁移到了 Google Cloud Engine,这让我可以挂载到一个持久的提供者。

标签: azure docker docker-volume azure-container-service


【解决方案1】:

这篇博文是一个很好的开始,让您了解 Azure 关于卷安装的策略(ASL == App Services on Linux; ASW=Windows 上的应用服务):

... 但是,在这种情况下,我们希望利用常规的应用服务文件系统,以便我们可以使用 FTP 与应用程序交互。部署容器时,ASL 将 ASW 上的 D:\home 路径的等效项挂载到 /home(使用 Docker 中的卷挂载)。现在,当这种情况发生时,由您的容器将相应的路径映射到应用程序中。为了更深入地了解它是如何工作的,请查看 ASL 上 PHP7 容器中使用的官方 Dockerfile。

https://hajekj.net/2016/12/25/building-custom-docker-images-for-use-in-app-service-on-linux/

【讨论】:

  • @riezebosch,您是否成功看到容器/home 目录中的文件出现在 Azure 文件系统中?查看 Kudu,我看不到我的文件出现在那里。我在这里有一个相关的问题:stackoverflow.com/questions/49212556/…
  • 没有进一步研究。
  • 你知道有相同信息的文章,但适用于 windows 吗?
猜你喜欢
  • 2020-10-12
  • 2020-03-11
  • 2021-11-30
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多