从持久存储挂载到 Azure 多容器应用程序
Mounting from persistent storage into azure multi container app
我正在尝试使用 azure 构建一个 multiconatiner 应用程序。我正在努力访问持久性存储。在我的 docker-compose 文件中,我想为我的 rabbitmq 容器添加配置文件。我已将文件共享安装到包含 def.json 的目录“/home/fileshare”。在云上它似乎没有创建卷,因为在启动时 rabbitmq 找不到文件。如果我在本地执行此操作并将文件保存在某处它可以工作。
Docker 撰写文件:
version: '3.8'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
volumes:
- /home/fileshare/def.json:/opt/rabbitmq-conf/def.json
expose:
- 5672
- 15672
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbitmq_management load_definitions "/opt/rabbitmq-conf/def.json"
networks:
- cloudnet
networks:
cloudnet:
driver: bridge
您需要使用映射到 /home 持久存储的 WEBAPP_STORAGE_HOME env 变量。
${WEBAPP_STORAGE_HOME}/fileshare/def.json:/opt/rabbitmq-conf/def.json
据我了解,您想将Azure 文件共享挂载到容器rabbitmq 并将def.json 文件上传到文件共享,以便您可以访问容器内的def.json 文件。
按照步骤here将文件共享装载到容器。而且只支持挂载文件共享,不支持直接挂载文件
这个问题的解决方案似乎是使用 ftp 访问 webapp 并保存定义文件。 Docker-Compose 处于预览模式(自 2018 年起),实际上不支持很多选项。我尝试将存储安装到单个容器应用程序并使用 ssh 连接到它,并且该文件正是人们所期望的位置。对于 multi-container 应用程序,这是行不通的。
我觉得 docker-compose 功能还没有完全支持
我正在尝试使用 azure 构建一个 multiconatiner 应用程序。我正在努力访问持久性存储。在我的 docker-compose 文件中,我想为我的 rabbitmq 容器添加配置文件。我已将文件共享安装到包含 def.json 的目录“/home/fileshare”。在云上它似乎没有创建卷,因为在启动时 rabbitmq 找不到文件。如果我在本地执行此操作并将文件保存在某处它可以工作。
Docker 撰写文件:
version: '3.8'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
volumes:
- /home/fileshare/def.json:/opt/rabbitmq-conf/def.json
expose:
- 5672
- 15672
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbitmq_management load_definitions "/opt/rabbitmq-conf/def.json"
networks:
- cloudnet
networks:
cloudnet:
driver: bridge
您需要使用映射到 /home 持久存储的 WEBAPP_STORAGE_HOME env 变量。
${WEBAPP_STORAGE_HOME}/fileshare/def.json:/opt/rabbitmq-conf/def.json
据我了解,您想将Azure 文件共享挂载到容器rabbitmq 并将def.json 文件上传到文件共享,以便您可以访问容器内的def.json 文件。
按照步骤here将文件共享装载到容器。而且只支持挂载文件共享,不支持直接挂载文件
这个问题的解决方案似乎是使用 ftp 访问 webapp 并保存定义文件。 Docker-Compose 处于预览模式(自 2018 年起),实际上不支持很多选项。我尝试将存储安装到单个容器应用程序并使用 ssh 连接到它,并且该文件正是人们所期望的位置。对于 multi-container 应用程序,这是行不通的。 我觉得 docker-compose 功能还没有完全支持