docker “neo4j-uat.yaml”中的版本不受支持,您使用了错误的合成文件版本

lc8prwob  于 2023-11-17  发布在  Docker
关注(0)|答案(1)|浏览(150)

我尝试运行下面的docker-compose文件,但它总是以错误结束:

version: '3.9'

services:
  neo4j:
    image: neo4j:5.8
    container_name: cybersage-neo4j
    hostname: neo4j
    user: 501:20 
    ports:
      - '0.0.0.0:9001:7474'
      - '0.0.0.0:9002:7687'
    volumes:
      - ./neo4j-config:/config
      - ./neo4j-data:/data:rw
      - ./neo4j-plugins:/plugins:rw
    environment:
      - NEO4J_server_memory_pagecache_size=1G
      - NEO4J_AUTH=neo4j/admin12345678
      - NEO4J_apoc_export_file_enabled=true
      - NEO4J_apoc_import_file_enabled=true
      - NEO4J_apoc_import_file_use__neo4j__config=true
      - NEO4JLABS_PLUGINS=\[\"apoc\"\] \
      - NEO4J_dbms_security_procedures_unrestricted=apoc.\\\*

字符串
我的docker-compose版本是:docker-compose version 1.25.0,build 0a 186604。下面是我尝试运行它的方式:
sudo docker-compose -f neo4j-uat.yaml up -d

ERROR: Version in "./neo4j-uat.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. 
Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key 
and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/


如果我从docker-compose文件中删除版本,则会出现此错误:

ERROR: The Compose file './neo4j-uat.yaml' is invalid because:
Unsupported config option for services: 'neo4j'

b4lqfgs4

b4lqfgs41#

对于所有当前Docker文档显示的version: '3.9'示例,它实际上从来不是Compose file format version。最新的编号版本是2.4(具有扩展的plain-Docker选项)和3.8(具有扩展的Swarm-oriented选项),我会使用其中之一。
Docker表示,截至2023年6月,他们不再支持基于Python的Compose 1.x。基于Go插件的Compose 2.x完全忽略了version:字段,这就是为什么显示version: '3.9'的文档示例显然可以工作的原因。(我还看到一些SO问题声明了version: '1.2',但Compose文件格式版本1不支持version:字段。升级到较新的Compose也将使您显示的文件工作。

相关问题