如何将文件共享安装到Azure容器实例中

时间:2020-06-30 15:49:20

标签: azure docker cloud volume azure-container-instances

使用docker-compose,我可以轻松地将本地目录挂载到容器内的目录中,以便持久保存一些文件。我目前正在尝试使用Azure云,并希望在服务Azure容器实例中执行与docker-compose相同的操作。

由于如果Microsoft在其Azure服务中坚持使用这种众所周知的语法会太容易,所以使用yml文件或ARM模板定义Azure中的容器部署。

使用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文件出了什么问题吗?

2 个答案:

答案 0 :(得分:0)

一个常见的问题是,一个Azure文件共享只能安装到一个路径,但是您想将一个文件共享安装到两个路径。这导致了问题。因此,我建议您为另一个安装路径创建另一个文件共享。

答案 1 :(得分:0)

文件共享具有“只读”权限。 尝试在AzureFile块中将readOnly属性设置为false(假设您在写入共享时遇到问题,应该更正从容器日志中获取的错误消息)。