我尝试运行下面的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'
型
1条答案
按热度按时间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也将使您显示的文件工作。