为什么 Docker Compose 不支持我的 POSTGRES_USER 环境变量?
Why isn't Docker Compose honoring my POSTGRES_USER environment variable?
我知道很多问题听起来像这样,而且他们都有相同的答案:删除您的卷以强制其重新初始化。
问题是,我在删除我的卷时非常小心,但它每次都会错误地启动容器。
我的docker-compose.yml
version: "3.1"
services:
db:
environment:
- POSTGRES_DB=mydb
- POSTGRES_PASSWORD=changeme
- POSTGRES_USER=myuser
image: postgres
我的过程:
$ docker volume ls
DRIVER VOLUME NAME
$ docker-compose up -v # or docker-compose up --force-recreate
但它总是创建“postgres”用户而不是 myuser
。它启动时的输出显示它“将由用户 'postgres' 拥有”,我只能 docker 作为 postgres 执行,而不是我的用户。
说明看起来很简单。我是不是遗漏了什么,或者这是一个错误?
使用上面的撰写文件会发生什么?
I can only docker exec
as postgres, not myuser
环境变量 POSTGRES_USER
控制数据库用户,而不是 linux 用户。查看documentation中的任意--用户注释一章,了解如何更改linux用户。
我知道很多问题听起来像这样,而且他们都有相同的答案:删除您的卷以强制其重新初始化。
问题是,我在删除我的卷时非常小心,但它每次都会错误地启动容器。
我的docker-compose.yml
version: "3.1"
services:
db:
environment:
- POSTGRES_DB=mydb
- POSTGRES_PASSWORD=changeme
- POSTGRES_USER=myuser
image: postgres
我的过程:
$ docker volume ls
DRIVER VOLUME NAME
$ docker-compose up -v # or docker-compose up --force-recreate
但它总是创建“postgres”用户而不是 myuser
。它启动时的输出显示它“将由用户 'postgres' 拥有”,我只能 docker 作为 postgres 执行,而不是我的用户。
说明看起来很简单。我是不是遗漏了什么,或者这是一个错误?
使用上面的撰写文件会发生什么?
I can only
docker exec
as postgres, not myuser
环境变量 POSTGRES_USER
控制数据库用户,而不是 linux 用户。查看documentation中的任意--用户注释一章,了解如何更改linux用户。