postgresql亲和 – docker服务swarm

我是docker工人,我有一个问题。 我想在Docker Swarm中的两个节点之间获得亲和性和交换数据。

(示例ip)

我有一个经理: 192.168.10.1

和工人: 192.168.10.2

他们已经连接。

我已经写了docker-compose.yml文件来用postgres DB创build新的服务,并且经理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 

我的主机名是由我从pipe理器中的命令docker node ls读取的

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

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

1)检查你的文件在yml文件中。 你应该重视白色标记。

2)我重新configurationyml文件:

 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)我使用了服务运行群的命令:

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