我正在使用AWS代码管道部署我的Django应用程序,它是被文档化的,为了本地开发,我将env变量存储在env文件中,但是对于代码管道,我在环境变量中设置了它们,但是变量仍然得到None。
docker-compose.yml
version: "3.8"
services:
db:
container_name: db
image: "postgres"
restart: always
volumes:
- postgres-data:/var/lib/postgresql/data/
app:
container_name: app
build:
context: .
restart: always
volumes:
- static-data:/vol/web
depends_on:
- db
proxy:
container_name: proxy
build:
context: ./proxy
restart: always
depends_on:
- app
ports:
- 80:8000
volumes:
- static-data:/vol/static
volumes:
postgres-data:
static-data:在django中获取env变量,类似于:
os.environ.get('FRONTEND_URL')发布于 2022-03-04 12:02:31
在我的例子中,我将所有env变量放入我的AWS CodeBuild环境变量中,并在我的docker环境中调用它们,如下所示。
version: "3.8"
services:
db:
container_name: db
image: "postgres"
restart: always
volumes:
- postgres-data:/var/lib/postgresql/data/
environment:
- VARIABLE_NAME: ${VARIABLE_NAME}发布于 2022-03-02 16:45:37
您可以在对接器中指定env文件,并将其与相对路径一起组合。
....
....
app:
container_name: app
build:
context: .
restart: always
env_file:
- <web-variables1.env>
volumes:
- static-data:/vol/web
depends_on:
- db
....
....https://stackoverflow.com/questions/71325746
复制相似问题