首页 > 解决方案 > 如何将文件共享挂载到 azure 容器实例中

问题描述

使用 docker-compose,我可以轻松地将本地目录挂载到容器内的目录中,这样我就可以保留一些文件。我目前正在试验 azure cloud,并希望在服务 azure 容器实例中做与 docker-compose 相同的事情。

由于如果微软在其 Azure 服务中遵循这种众所周知的语法就太容易了,Azure 中的容器部署是使用 yml 文件或 ARM 模板定义的。

使用 docker-compose (作品)

volumes:
      - ./mnt/liferay/base:/etc/opt/liferay

Azure 容器实例部署文件 (.yml)(不起作用)

apiVersion: '2018-10-01'
location: westeurope
name: liferay
properties:
  containers:
  - name: liferay
    properties:
      image: xxxxxxx.azurecr.io/liferay-7.3.2ce:v1
      ports:
        - port: 80
        - port: 11311
      resources:
        requests:
          cpu: 2.0
          memoryInGB: 8.0
      volumeMounts:
      - mountPath: /mnt/liferay/base
        name: lrbase
      - mountPath: /lr-data
        name: lrdata
  osType: Linux
  restartPolicy: Always
  ipAddress:
    type: Public
    ports:
      - port: 80
    dnsNameLabel: xxxxxxx-liferay
  imageRegistryCredentials:
    - server: xxxxxxx.azurecr.io
      username: xxxxxxxdocker
      password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  volumes:
  - name: lrbase
    azureFile:
      sharename: liferay
      storageAccountName: xxxxxxxstorage
      storageAccountKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  - name: lrdata
    azureFile:
      sharename: liferay
      storageAccountName: xxxxxxxstorage
      storageAccountKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tags: {}
type: Microsoft.ContainerInstance/containerGroups

有人知道我的 yml 文件有什么问题吗?

标签: azuredockercloudvolumeazure-container-instances

解决方案


一个 Azure 文件共享只能挂载到一个路径是一个常见问题,但您希望将一个文件共享挂载到这两个路径。这导致了问题。所以我建议你为另一个挂载路径创建另一个文件共享。


推荐阅读