gpt4 book ai didi

postgresql - Docker Swarm Postgresql群集--mount键=值对错误

转载 作者:行者123 更新时间:2023-12-02 21:18:34 25 4
gpt4 key购买 nike

我试图用4台机器(正在运行ubuntu),1个Swarm管理器和3个worker建立一个Postgresql集群-1个worker应该运行master数据库(读/写),而另一个worker应该是从属数据库(只读)。就像在此示例中一样:http://info.crunchydata.com/blog/easy-postgresql-cluster-recipe-using-docker-1.12

我使我的costum postgres图像暴露了端口等。

但是我坚持用所需的env变量生成群集。

docker service create \
> --name pu06suzdrm63peraqcuzi697z \
> --mount type=volume, src=pu06suzdrm63peraqcuzi697z-
volume,dst=/pgdata,volume-driver=local \
> --network overlay \
> --constraint 'node.labels.type == master' \
> --env PGHOST=/tmp \
> --env PG_USER=testuser \
> --env PG_MODE=master \
> --env PG_MASTER_USER=master \
> --env PG_ROOT_PASSWORD=password \
> --env PG_PASSWORD=password \
> --env PG_DATABASE=userdb \
> --env PG_MASTER_PORT=5432 \
> --env PG_MASTER_PASSWORD=password \
> xxxx/my_image

我得到这个错误:

参数“type = volume”无效,表示“--mount”标志:无效字段“必须是键=值对

最佳答案

问题是挂载的type和src选项之间存在空格。 src被解释为create选项的一个选项,而不是mount选项的一个选项。这可以从错误消息中得到验证,该错误消息中将带有逗号的volume,解析为type的值。

docker service create \
--name pu06suzdrm63peraqcuzi697z \
--mount type=volume,src=pu06suzdrm63peraqcuzi697z-volume,dst=/pgdata,volume-driver=local \
--network overlay \
--constraint 'node.labels.type == master' \
--env PGHOST=/tmp \
--env PG_USER=testuser \
--env PG_MODE=master \
--env PG_MASTER_USER=master \
--env PG_ROOT_PASSWORD=password \
--env PG_PASSWORD=password \
--env PG_DATABASE=userdb \
--env PG_MASTER_PORT=5432 \
--env PG_MASTER_PASSWORD=password \
xxxx/my_image

关于postgresql - Docker Swarm Postgresql群集--mount键=值对错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com