bix*_*e57 4 docker docker-compose
我的docker-compose.yml是:
version: '2'
volumes:
postgres_data: {}
postgres_backup: {}
services:
postgres:
build: ./compose/postgres
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_backup:/backups
env_file: .env
django:
build:
context: .
dockerfile: ./compose/django/Dockerfile
user: django
depends_on:
- postgres
- redis
command: /gunicorn.sh
env_file: .env
nginx:
build: ./compose/nginx
depends_on:
- django
ports:
- "0.0.0.0:80:80"
redis:
image: redis:latest
restart: always
Run Code Online (Sandbox Code Playgroud)
在我的.env文件中,我有:
# PostgreSQL
POSTGRES_PASSWORD=mysecretpass
POSTGRES_USER=postgresuser
Run Code Online (Sandbox Code Playgroud)
如何测试是否有效设置了环境变量?
我试过在远程计算机上运行tu:
docker run sorbetcitron_django echo $POSTGRES_USER
Run Code Online (Sandbox Code Playgroud)
其中sorbetcitron_django是我的django映像,但不输出任何内容。
我会用:
docker-compose run postgres env
Run Code Online (Sandbox Code Playgroud)
如果将$ POSTGRES_USER传递给cli,它将由主机上的shell解释,如果对进行转义$,则需要评估行以使shell解析$容器内部。
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |