【问题标题】:Docker Swarm postgresql Cluster --mount key=value pair errorDocker Swarm postgresql Cluster --mount key=value 对错误
【发布时间】:2018-01-26 02:28:21
【问题描述】:

我正在尝试建立一个包含 4 台机器(运行 ubuntu)、1 个 Swarm 管理器和 3 个工作人员的 Postgresql 集群 - 1 个工作人员应该运行主数据库(读/写),另一个工作人员应该是从属数据库(读 -只要)。就像在这个例子中一样:http://info.crunchydata.com/blog/easy-postgresql-cluster-recipe-using-docker-1.12

我制作了我的服装 postgres 图像,暴露了端口等......

但我坚持使用所需的环境变量生成群。

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

我得到了这个错误:

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

?

【问题讨论】:

    标签: postgresql docker cluster-computing docker-swarm


    【解决方案1】:

    问题在于挂载的 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
    

    【讨论】:

      猜你喜欢
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 2019-07-01
      相关资源
      最近更新 更多