如何将 Azure 文件共享映射为 Docker Compose 文件中的卷?

Mat*_*und 7 azure azure-storage docker azure-files docker-compose

到目前为止,我只找到了有关如何在主机上创建卷的示例,例如:

version: "3.3"
services:
  mysql:
    image: mysql
    volumes:
       - db-data:/var/lib/mysql/data
volumes:
  db-data:
Run Code Online (Sandbox Code Playgroud)

因此,这定义了一个名为 db-data 的卷,该卷将物理存储在运行容器的主机上。

是否可以使 db-data 卷指向 Azure 存储帐户中的 Azure 文件共享,我将如何指定所需的参数?

Nic*_*Ben 0

从 CLI 中您可以使用以下命令创建:

docker volume create -d azurefile -o share=myvol --name vol1 

docker run -i -t -v vol1:/data busybox    
Run Code Online (Sandbox Code Playgroud)

在您的撰写中,您需要使用此骨架:

volumes:
  myvol:
    driver: azurefile
    driver_opts:
      accountname: ___your__account_name
      accountkey: ___your_account_key
      share: "volumes"
      remotepath: "myvol"
Run Code Online (Sandbox Code Playgroud)

更新:

这些选项现已弃用,请按照 CloudStor 插件的说明进行操作: https ://docs.docker.com/docker-for-azure/persistent-data-volumes/

  • Docker 文档链接现已失效,无法找到替代品。 (9认同)
  • 在我的场景(用于容器的 Azure Web 应用程序)中,我无法运行任何内容,只能上传 docker compose 文件。那么我可以使用 docker compose 文件创建卷吗? (2认同)