使用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文件出了什么问题吗?
答案 0 :(得分:0)
一个常见的问题是,一个Azure文件共享只能安装到一个路径,但是您想将一个文件共享安装到两个路径。这导致了问题。因此,我建议您为另一个安装路径创建另一个文件共享。
答案 1 :(得分:0)
文件共享具有“只读”权限。 尝试在AzureFile块中将readOnly属性设置为false(假设您在写入共享时遇到问题,应该更正从容器日志中获取的错误消息)。