1
官方網站says,如果你想建立postgresql databse只是把變量POSTGRES_USER, POSTGRES_PASSWORD and POSTGRES_DB
。我把它們放到.env文件中,然後寫入docker-compose
文件env_file: ./.env
,但是然後django說:django.db.utils.OperationalError: FATAL: database "languages" does not exist
。這意味着我應該用命令編寫.sql腳本。 問題:無法創建數據庫與默認postgresql泊塢窗圖像
- 寫的.sql sript是使它工作的唯一途徑?
- 我怎麼寫它,並把它放在哪裏,如果我不明確 寫感知信息如密碼,我想使用.env文件,因爲我會在公共回購中存儲.sql腳本?
我.ENV文件
DEBUG=True
SECRET_KEY=...
POSTGRESQL_DATABASE=languages
POSTGRESQL_USERNAME=admin
POSTGRESQL_PASSWORD=pass
POSTGRESQL_ADDRESS=postgres
POSTGRES_DB=languages
我的搬運工,撰寫文件:
version: '3'
services:
web:
build: ./web
env_file: ./web/microservice/.env
volumes:
- ./web:/code/
depends_on:
- postgres
command: python manage.py runserver 0.0.0.0:8000
nginx:
build: ./nginx/
ports:
- "80:80"
- "443:443"
volumes:
- ./web/static:/code/static
depends_on:
- web
postgres:
image: postgres:latest
ports:
- "5432:5432"
env_file: ./web/microservice/.env
volumes:
- /var/lib/postgresql/data/
我Dockefile
:
FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD ./requirements.txt /code/
RUN pip install --no-cache-dir -r requirements.txt
ADD . /code/
EXPOSE 8000
CMD ["/usr/local/bin/gunicorn", "translation_microservice.wsgi", "-w", "2", "-b", ":8000", "--access-logfile", "-", "--capture-output"]