我需要运行两个 Neo4j 容器,因此希望它们可以在不同的端口上访问。我是这样启动第一个容器的:
podman run --name neo4j-development -p 7687:7687 -p 7474:7474 -e "NEO4J_AUTH=none" docker.io/library/neo4j
第二,我尝试过这样的方法:
podman run --name neo4j-testing -p 7688:7688 -p 7475:7475 -e [NEO4J_AUTH=none,NEO4J_server_bolt_advertised__address=7688,NEO4J_server_http_advertised__address=7475] docker.io/library/neo4j
但是,每次我运行第二个命令时,输出都会显示 Neo4j 在端口 7687 上启动。我的 Podman 命令有问题吗,或者这可能是 Neo4j 的问题?
编辑:
下面的评论解决了我当前的问题。现在我试图在这些 Neo4j 容器上启用 APOC,当我尝试传递我在 Github 工作流中执行的选项数组时失败了,即
# Docker Hub image
image: neo4j:5.5.0
ports:
- 7474:7474 # used for http
- 7687:7687 # used for bolt
env:
NEO4J_AUTH: none
NEO4J_server.http.advertised_address: "localhost:7474"
NEO4J_server.bolt.advertised_address: "localhost:7687"
NEO4J_dbms_security_procedures_unrestricted: "apoc.*"
NEO4J_apoc_export_file_enabled: true
NEO4J_apoc_import_file_enabled: true
NEO4J_apoc_import_file_use__neo4j__config: true
NEO4JLABS_PLUGINS: '["apoc"]'
...翻译为:
podman run --name neo4j-testing -p 7688:7687 -p 7475:7474 -e ["NEO4J_AUTH=none","NEO4J_dbms_security_procedures_unrestricted='apoc.*'","NEO4J_apoc_export_file_enabled=true","NEO4J_apoc_import_file_enabled=true","NEO4J_apoc_import_file_use__neo4j__config=true","NEO4J_PLUGINS='[\"apoc\"]" docker.io/library/neo4j
这里也没有运气;我的测试抱怨缺乏 APOC。因此,使用 -e 传递选项的方法可能是错误的(我找不到任何文档来澄清这一点)。