Docker swarm stack 忽略 postgres password env 变量



我正在尝试通过docker stack deploy使用此撰写文件将 postgres 和 pgadmin 部署为群堆栈

version: '3.7'
services:
postgres:
image: postgres
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=87654321
pgadmin:
image: dpage/pgadmin4
ports:
- "5433:80" 
environment:
- PGADMIN_DEFAULT_EMAIL=developer@happycode.io
- PGADMIN_DEFAULT_PASSWORD=12345678
depends_on:
- postgres 
volumes:
postgres-data: 

使用docker stack deploy-POSTGRES_PASSWORD永远不会应用于 postgres,我可以在容器内echoenv 变量,它包含正确的值87654321但 postgres 仍然使用默认值。但是,如果我使用相同的撰写文件docker-compose一切正常

我认为卷postgres-data已经拥有postgres所需的所有数据。

尝试先删除它并重新部署堆栈。

docker-compose down --remove-orphans --volumes

或停止stack并运行:

docker volume rm postgres-data

最新更新