检测到任务失败:docker服务创建--name db--网络后端--mount type=volume,source=db data,target=/var/lib/postgresql/data-postgres

检测到任务失败:docker服务创建--name db--网络后端--mount type=volume,source=db data,target=/var/lib/postgresql/data-postgres,docker,virtual-machine,overlay,docker-swarm,docker-machine,Docker,Virtual Machine,Overlay,Docker Swarm,Docker Machine,我在Windows10上运行Docker和Bash 在我的VM节点1中,当我运行此命令时 docker service create --name db --network backend --mount type=volume,source=db-data,target=/var/lib/postgresql/data postgres:9.4 我得到: overall progress: 0 out of 1 tasks 1/1: ready verify: Detected task f

我在Windows10上运行Docker和Bash

在我的VM节点1中,当我运行此命令时

docker service create --name db --network backend --mount type=volume,source=db-data,target=/var/lib/postgresql/data postgres:9.4
我得到:

overall progress: 0 out of 1 tasks
1/1: ready
verify: Detected task failure
♥Operation continuing in background.
Use `docker service ps tm3hgzidbr2smnpc7f2tz1w67` to check progress.
为什么任务失败?

已解决

我缺少一个postgres身份验证必需的参数:
-e postgres\u HOST\u AUTH\u METHOD=trust

发件人:

为所有数据库、所有用户的主机连接设置auth方法, 和所有地址。以下内容将添加到pg_hba.conf中,如果 传递此选项:host all$POSTGRES\u host\u AUTH\u方法

因此,我删除了我的
db
服务

docker service rm db
并将其替换为

docker service create --network backend --mount type=volume,source=db-data,target=/var/lib/postgresql/data --name db -e POSTGRES_HOST_AUTH_METHOD=trust postgres:9.4
docker service create --network backend --mount type=volume,source=db-data,target=/var/lib/postgresql/data --name db -e POSTGRES_HOST_AUTH_METHOD=trust postgres:9.4