docker-compose.yml,网络必须是映射,而不是数组

cyb*_*lus 5 networking docker docker-compose

不确定 yaml 缩进是如何工作的。定义应用程序通信的外部网络时出现错误

./docker-compose.yml', network must be a mapping, not an array

    version : '3'

    services:
       zmq_sub:
         image: zmq_sub
       zmq_pub:
         image: zmq_pub
         depends_on:
           - zmq_sub 

    networks:
       - zmq_network:
         external: true
Run Code Online (Sandbox Code Playgroud)

mis*_*ige 6

请注意每个容器的节与末尾的卷和网络列表之间的语法差异:

<...snip...>
    volumes:
      - "database-volume:/var/lib/postgresql/data"    ## <---- dash !
    networks:
      - foo        ### <---- dash!
      - private    ### <----- dash!
volumes:
  foovol:      # NO dash!
  barvol:     # NO dash!
networks:
  dntp:       # NO dash!
  private:    # NO dash!
Run Code Online (Sandbox Code Playgroud)


Fac*_*cty 0

version: "3.8"

services:
  my_app:
    image: some_image
    networks:
      - ingress

networks:
  ingress:
    name: existing_docker_network
    external: true
Run Code Online (Sandbox Code Playgroud)

或者使用默认堆栈网络名称

version: "3.8"

services:
  my_app:
    image: some_image

networks:
  default:
    name: existing_docker_network
    external: true
Run Code Online (Sandbox Code Playgroud)

在我看来,您正在使用旧的 docker-compose 格式(~2)来执行新版本(3)