加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

python – 使用Docker创建慢django模型实例

发布时间:2020-12-16 03:33:00 所属栏目:安全 来源:网络整理
导读:我有一些模型的django应用程序.我有manage.py命令创建n个模型并将其保存到db.它在我的主机上以合适的速度运行. 但是如果我在docker运行它运行非常慢,1个实例创建并保存在40-50秒.我认为我错过了Docker的工作原理,有人可以指出为什么性能低下,我该怎么办? 泊

我有一些模型的django应用程序.我有manage.py命令创建n个模型并将其保存到db.它在我的主机上以合适的速度运行.

但是如果我在docker运行它运行非常慢,1个实例创建并保存在40-50秒.我认为我错过了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

web服务的dockerfile:

FROM python:3.6
ENV PYTHONBUFFERED 1
ADD . .
WORKDIR .
RUN pip install -r requirements.txt
RUN chmod +x wait-for-it.sh
最佳答案
这里的问题很可能是在Mac上使用它的卷/usr/local / var / postgres:/ var / lib / postgresql.据了解Docker for Mac解决方案,它使用文件共享来实现主机卷,这比本机文件系统访问慢得多.

可能的解决方法是使用docker卷而不是主机卷.这是一个例子:

version: '2'

volumes:
  postgres_data:

services:
  db:
    restart: always
    image: "postgres:9.6"
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/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

请注意,这可能使Postgres数据的管理变得复杂,因为您无法从Mac访问数据.您只能使用docker CLI或容器来访问,修改和备份此数据.另外,我不知道如果从Mac卸载Docker,可能会丢失这些数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读