簡體   English   中英

Django 和 docker 中的環境變量 in.env 文件

[英]Environ variables in .env file in Django and docker

Hi I'm using Docker to build a Django web application for production via Docker-Compose and it uses the.env.prod file for the environmental variables. docker-compose 文件工作正常,並通過 GitLab 上的 CI/CD 部署到沒有問題的服務器。

我希望使用相同的結構,但只有一個 .env.dev 文件,所以我不必以任何方式修改設置文件。 我遇到的問題是我找不到如何在開發模式下從外部文件設置環境變量。 現在運行命令“python manage.py runserver”不會獲取包含數據的 .env 文件。 我能看到的唯一解決方法是有一個我希望避免的 local_settings.py 文件。 我在下面的 settings.py 文件中嘗試實現的示例。

DEBUG = int(os.environ.get("DEBUG", default=0))

帶有 .env.dev 文件。

DEBUG=1
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 149.28.188.180 [::1]

提前致謝。 我確定我錯過了一些簡單的東西。

您可以在本地 Dockerfile 中放置命令“復制”,該命令復制您的 local.env 文件以在 docker 容器中使用。 例如:

FROM alpine:latest
RUN apk add --update \
nodejs \
nodejs-npm && rm -rf /var/cache/apk/*
COPY package.json /package.json
RUN npm i --silent --prod
#COPY .env /.env
COPY app.js /app.js
COPY bin/ /bin
COPY lib/ /lib
COPY server/ /server
COPY sql/ /sql
EXPOSE 3002
CMD ["npm","start"]

如您所見,只需使用“復制”命令取消注釋該行,即可復制您的本地環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM