看着一个邮递员
Docker image
,说明通过以下方式指示使用
docker run
docker run --name some-postgis -e POSTGRES_PASSWORD=mysecretpassword -d -P mdillon/postgis
具体来说,当运行此命令时,我看到
-e
使用标志(即环境变量
POSTGRES_PASSWORD
一切就绪。我可以测试我不能登录到PostgreSQL服务器,除非我指定了密码。
我正在尝试使用
docker-compose
,但我发现环境变量是
不
version: '3.7'
volumes:
postgres:
services:
postgres:
image: mdillon/postgis
container_name: postgres
restart: always
environment:
- POSTGRES_PASSWORD=mysecretpassword
ports:
- 5432:5432
volumes:
- postgres:/var/lib/postgresql/data
然后我运行容器:
docker-compose up -d --force-recreate --build
没有
-e
旗帜:
docker run --name some-postgis -P -d mdillon/postgis
docker-compose environment not the same as Docker -e
,然后我查看了运行时创建的环境变量
. 运行:
docker-compose exec some-postgis sh
,然后
env
我得到以下信息:
...
POSTGRES_PASSWORD=mysecretpassword
...
所以
POSTGRES_密码
正在设置。Docker容器创建的原因是什么
码头工人赛跑
将环境变量与通过创建的容器区别对待
.