docker 在 Azure 容器实例上组合自定义卷

docker compose up with customized volumes on azure container instance

我正在尝试 docker 组合 Azure 容器实例,但没有任何显示,也没有创建 docker 容器。如下

CCSU_ACA_COMP+tn3877@CCSU-ND-909264 MSYS ~/source/cab/cab-deployment (master)
$ docker compose up

CCSU_ACA_COMP+tn3877@CCSU-ND-909264 MSYS ~/source/cab/cab-deployment (master)
$ docker ps
CONTAINER ID        IMAGE               COMMAND             STATUS              PORTS

以下是我的docker-compose.yaml文件

version: "3.8"

services:
    cassandra:
        image: cassandra:4.0.0
        ports:
            - "9042:9042"
        restart: unless-stopped
        volumes:
            - hi:/home/cassandra:/var/lib/cassandra
            - hi:/home/cassandra/cassandra.yaml:/etc/cassandra/cassandra.yaml
        networks:
            - internal

    cassandra-init-data:
        image: cassandra:4.0.0
        depends_on:
            - cassandra
        volumes:
            - hi:/home/cassandra/schema.cql:/schema.cql
        command: /bin/bash -c "sleep 60 && echo importing default data && cqlsh --username cassandra --password cassandra cassandra -f /schema.cql"
        networks:
            - internal

    postgres:
        image: postgres:13.3
        ports:
            - "5432:5432"
        restart: unless-stopped
        volumes:
            - hi:/home/postgres:/var/lib/postgresql/data
        networks:
            - internal
    
    rabbitmq:
        image: rabbitmq:3-management-alpine
        ports:
            - "15672:15672"
            - "5672:5672"
        restart: unless-stopped
        networks:
            - internal

volumes:
    hi:
    driver: azure_file
    driver_opts:
        share_name: docker-fileshare
        storage_account_name: cs210033fffa9b41a40
            
networks:
    internal:
        name: cabvn

我有一个 Azure 帐户和一个文件共享,如下所示

我怀疑是卷挂载问题。有人可以帮帮我吗?

问题出在 YAML 配置中的“卷”对象中。

确保使用缩进来表示 YAML 中的对象层次结构。这是 YAML 的一个非常常见的问题,大多数时候缺少错误消息来解决这个问题,或者它们没有提供信息。

上一个缩进错误的解决方案

volumes:
  hi:
  driver: azure_file
  driver_opts:
    share_name: docker-fileshare
    storage_account_name: cs210033fffa9b41a40

正确解法

volumes:
  hi:
    driver: azure_file
    driver_opts:
      share_name: docker-fileshare
      storage_account_name: cs210033fffa9b41a40