【发布时间】:2018-05-30 18:32:36
【问题描述】:
我尝试在 Docker 容器中运行 Django 项目。到目前为止,一切正常。我没有更改任何内容,但底部显示错误。有什么想法有什么问题吗?我的 PostgreSQL 设置是这样的:
DATABASES = {
"default":
{
'ENGINE': 'django.db.backends.postgresql',
"NAME": 'myproject',
"HOST": "db",
"PORT": "5432",
}
}
DATABASES = {'default': dj_database_url.config(default='postgres://addw...@ec2-31-11-107-127.compute-1.amazonaws.com:5432/qdsfks')}
docker-compose.yml:
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_USER: myproject
POSTGRES_PASSWORD: somepass
volumes:
- "./local_pgdata:/var/lib/postgresql/data/pgdata"
django:
build: .
command: python3 manage.py runserver 0.0.0.0:8001
volumes:
- .:/code
ports:
- "8001:8001"
depends_on:
- db
日志:
db_1 | The files belonging to this database system will be owned by user "postgres".
db_1 | This user must also own the server process.
db_1 |
db_1 | The database cluster will be initialized with locale "en_US.utf8".
db_1 | The default database encoding has accordingly been set to "UTF8".
db_1 | The default text search configuration will be set to "english".
db_1 |
db_1 | Data page checksums are disabled.
db_1 |
db_1 | initdb: directory "/var/lib/postgresql/data" exists but is not empty
db_1 | If you want to create a new database system, either remove or empty
db_1 | the directory "/var/lib/postgresql/data" or run initdb
db_1 | with an argument other than "/var/lib/postgresql/data".
【问题讨论】:
-
根据报错需要删除“/var/lib/postgresql/data”的内容来创建一个新的数据库系统。你能告诉我们你的 postgres Dockerfile 的内容吗?为什么要将“./local_pgdata”映射到“/var/lib/postgresql/data/pgdata”?
-
@TobiasErnst 我该怎么做?我正在将“./local_pgdata”映射到“/var/lib/postgresql/data/pgdata”,因为我可以将文件从这个目录导入到我在 Docker 容器中的 PostgreSQL 数据库中。
-
如何导入文件?请与我们分享命令。
-
@TobiasErnst
\copy backend_table (field1,field2) FROM '/var/lib/postgresql/data/pgdata/file.csv' CSV HEADER;
标签: python django python-3.x postgresql heroku