【发布时间】:2017-06-27 10:32:59
【问题描述】:
我有一些模型的 django 应用程序。我有manage.py 命令创建n 模型并将其保存到数据库。它在我的主机上运行速度不错。
但如果我在 docker 中运行它,它运行速度非常慢,在 40-50 秒内创建并保存了 1 个实例。我想我在 Docker 的工作原理上遗漏了一些东西,有人能指出为什么性能低,我能用它做什么吗?
docker-compose.yml:
version: '2'
services:
db:
restart: always
image: "postgres:9.6"
ports:
- "5432:5432"
volumes:
- /usr/local/var/postgres:/var/lib/postgresql
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=my_db
- POSTGRES_USER=postgres
web:
build: .
command: bash -c "./wait-for-it.sh db:5432 --timeout=15; python manage.py migrate; python manage.py runserver 0.0.0.0:8000; python manage.py mock 5"
ports:
- "8000:8000"
expose:
- "8000"
depends_on:
- db
用于网络服务的dockerfile:
FROM python:3.6
ENV PYTHONBUFFERED 1
ADD . .
WORKDIR .
RUN pip install -r requirements.txt
RUN chmod +x wait-for-it.sh
【问题讨论】:
-
您是在服务器/VM 上执行此操作吗?试过在没有 docker 的同一台机器上做吗?
-
@lorenzvth7 在本地机器 (mac) 上使用最大计算资源执行此操作。在没有 docker 的情况下执行此操作要快得多。
标签: python django postgresql docker