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