【发布时间】:2019-07-31 14:38:11
【问题描述】:
我在 django 项目中使用了cookiecutter-django。我正在使用 docker 在本地运行项目。该项目运行良好。但是,我在使用 docker 时无法探索 postgres。
这是我运行项目所遵循的步骤
docker-compose -f local.yml build
docker-compose -f local.yml up -d
docker-compose run django python manage.py makemigrations
docker-compose run django python manage.py migrate
local.yml 如下所示
version: '3'
volumes:
local_postgres_data: {}
local_postgres_data_backups: {}
services:
django: &django
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: travel_local_django
depends_on:
- postgres
- mailhog
volumes:
- .:/app
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- "8000:8000"
command: /start
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: travel_production_postgres
volumes:
- local_postgres_data:/var/lib/postgresql/data
- local_postgres_data_backups:/backups
env_file:
- ./.envs/.local/.postgres
compose/production/postgres/Dockerfile
FROM postgres:11.3
COPY ./compose/production/postgres/maintenance /usr/local/bin/maintenance
RUN chmod +x /usr/local/bin/maintenance/*
RUN mv /usr/local/bin/maintenance/* /usr/local/bin \
&& rmdir /usr/local/bin/maintenance
.envs/.local/.postgres
# PostgreSQL
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=simplifytour
POSTGRES_USER=debug
POSTGRES_PASSWORD=debug
当我做docker-compose -f local.yml ps 时,我得到了与这个项目相关的容器。然后我使用命令docker exec -it travel_postgres_1 sh 执行了postgres 容器。在那里我尝试运行psql、psql -U postgres 之类的命令,但对我没有任何帮助。我想探索 postgres,比如列出表、连接到数据库等。
我错过了任何步骤吗?我如何使用 postgres 容器?
【问题讨论】:
标签: python django docker cookiecutter-django