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