Docker swarm 堆栈忽略 postgres 密码环境变量
Docker swarm stack ignores postgres password env variable
我正在尝试通过 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,我可以 echo
容器内的 env 变量,它包含正确的值87654321
但 postgres 仍然使用默认的。但是,如果我将相同的撰写文件与 docker-compose
一起使用,一切正常
我认为卷 postgres-data
已经包含了 postgres
所需的所有数据。
尝试先删除它,然后重新部署堆栈。
docker-compose down --remove-orphans --volumes
或停止 stack
和 运行:
docker volume rm postgres-data
我正在尝试通过 docker stack deploy
使用此组合文件
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,我可以 echo
容器内的 env 变量,它包含正确的值87654321
但 postgres 仍然使用默认的。但是,如果我将相同的撰写文件与 docker-compose
一起使用,一切正常
我认为卷 postgres-data
已经包含了 postgres
所需的所有数据。
尝试先删除它,然后重新部署堆栈。
docker-compose down --remove-orphans --volumes
或停止 stack
和 运行:
docker volume rm postgres-data