Переменные среды PostgreSQL в Docker Compose «Для базы данных не установлен пароль»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Переменные среды PostgreSQL в Docker Compose «Для базы данных не установлен пароль»

Сообщение Anonymous »

Я работаю над проектом с использованием Django и пытаюсь загрузить файл .env в образ PostgreSQL в моем скрипте docker-compose.yml. Однако по какой-то причине я не могу их загрузить.

После запуска команды docker-compose up я получаю одно из предупреждений от db_1 выглядит следующим образом:

Код: Выделить всё

.
.
.
db_1   | ****************************************************
db_1   | WARNING: No password has been set for the database.
db_1   |          This will allow anyone with access to the
db_1   |          Postgres port to access your database. In
db_1   |          Docker's default configuration, this is
db_1   |          effectively any other container on the same
db_1   |          system.
db_1   |
db_1   |          Use "-e POSTGRES_PASSWORD=password" to set
db_1   |          it in "docker run".
db_1   | ****************************************************
.
.
.
Чтобы воспроизвести проблему, вот моя структура папок:

Структура моего проекта:

Код: Выделить всё

├── config/
│   ├── .env
├── src/
│   ├── manage.py
│   └── core
│   |   ├── __init__.py
│   |   ├── settings.py
│   |   ├── urls.py
│   |   ├── wsgi.py
├── docker-compose.yml
├── Dockerfile
└── requirements.txt
Мой Dockerfile:

Код: Выделить всё

FROM python:3.7.0
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
Мой docker-compose.yml:

Код: Выделить всё

version: '2'

services:
db:
image: postgres
restart: always
env_file:
- ./config/.env
web:
build: .
stdin_open: true
tty: true
command: python src/manage.py runserver 0.0.0.0:8000
restart: always
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Мой файл .env:

Код: Выделить всё

PGUSER=admin
PGDATABASE=db
PGPASSWORD=s3cr3t
PGHOST=h0st
PGPORT=5432
Интересно то, что мне удалось загрузить переменные среды в settings.py с помощью библиотеки dotenv. На самом деле проблема заключается в установке переменных среды в образе PostgreSQL.< /p>

Я следую этой логике переменных среды, заданных самим PostgreSQL:
https://www.postgresql.org/docs/10/libpq-envars.html

Подробнее здесь: https://stackoverflow.com/questions/576 ... en-set-for
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»