postgresql亲和力 - 码头服务群

问题描述:

我是码头工人,我有一个问题。我想在Docker群中的两个节点之间获得亲和力和交换数据。postgresql亲和力 - 码头服务群

(例如IP)

我有一个为经理:192.168.10.1

和工人:192.168.10.2

他们已经连接。

我已经写了docker-compose.yml文件创建在Postgres数据库新的服务,并 经理YML文件看起来像:

version: '3.1' 

services: 
    db: 
     image: postgres 
     environment: 
      POSTGRES_DB: My_DB 
      POSTGRES_USER: My_DB_User 
      POSTGRES_PASSWORD: My_DB_Password 
      PG_DATA: /var/lib/postgresql/data/pgdatai 
     deploy: 
      placement: 
       constraints: 
        - node.role == manager 
        - node.labels.type == queue 

    adminer: 
     image: adminer 
     ports: 
      - 8080:8080 

和工人:

version: '3.1' 

services: 
    db: 
     image: postgres 
     environment: 
      POSTGRES_DB: My_DB 
      POSTGRES_USER: My_DB_User 
      POSTGRES_PASSWORD: My_DB_Password 
      PG_DATA: /var/lib/postgresql/data/pgdatai 
     deploy: 
      placement: 
       constraints: 
        - node.role == worker 
        - node.labels.type == queue 

    adminer: 
     image: adminer 
     ports: 
      - 8080:8080 

而且我没有任何堆栈我机器。做下面的命令(如果正确的话一个不知道)我有一个错误:yaml: line 2: did not find expected key

docker stack deploy --compose-file docker-compose.yml my_hostname 

我的主机名是由我从命令docker node ls在管理机读

也许有人已经作了妥善处理一个非常相似的问题和目标并可以给我一个指导。我在网上看过几个演示,但是我发现那些有点无用。我将不胜感激任何帮助和指导,我如何能够实现这个“备份”

好的,所以我现在更了解yaml。对于其他人,谁发生类似的问题:

1)检查你的文字在yml文件中。你应该关心白色标记。

2)I重新配置YML文件:

version: '3' 
services: 
db: 
    image: postgres 
    environment: 
    POSTGRES_DB: db_db 
    POSTGRES_USER: db_user 
    POSTGRES_PASSWORD: db_pass 
    PG_DATA: /var/lib/postgresql/data/pgdatai 
    expose: 
    - "5432" 
    ports: 
    - "5432:5432" 
    volumes: 
    - /var/lib/postresql/db/ 
    deploy: 
    placement: 
    constraints: 
    - node.hostname == vmAPI1 

3)I使用的命令用于使服务运行群:

docker stack deploy --compose-file docker-compose.yml name_of_your_manager_swarm