dip*_*esh 3 python django docker dockerfile docker-compose
我正在尝试为一个虚拟的本地 Django 项目实现一个 docker。我docker-compose用作定义和运行多个容器的工具。在这里,我尝试将Django-web-app和PostgreSQL两个服务容器化。
中使用的配置Dockerfile和docker-compose.yml
文件
# Pull base image
FROM python:3.7-alpine
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Set work directory
WORKDIR /code
# Install dependencies
COPY requirements.txt /code/
RUN pip install -r requirements.txt
# Copy project
COPY . /code/
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.7'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
db:
image: postgres:11
volumes:
- postgres_data:/var/lib/postgresql/data/
volumes:
postgres_data:
Run Code Online (Sandbox Code Playgroud)
一切似乎都好。路径 postgres 集成和所有除了一件事pip install -r requirements.txt。根据要求进行安装需要花费太多时间。上次我放弃了这个,但最后安装确实完成了,但需要很多时间才能完成。
在我的情况下,唯一的问题是为什么pip install 这么慢。如果有什么我想念的吗?我是 docker 的新手,对此主题的任何帮助将不胜感激。谢谢你。
我正在关注此链接。
nev*_*ner 16
可能这是因为 PyPI 轮子在 Alpine 上不起作用。Alpine 下载源代码并编译它,而不是使用预编译文件。尝试使用python:3.7-slim图像代替:
# Pull base image
FROM python:3.7-slim
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Set work directory
WORKDIR /code
# Install dependencies
COPY requirements.txt /code/
RUN pip install -r requirements.txt
# Copy project
COPY . /code/
Run Code Online (Sandbox Code Playgroud)
查看这篇文章了解更多详细信息:Alpine 使 Python Docker 构建速度降低 50 倍。
| 归档时间: |
|
| 查看次数: |
4524 次 |
| 最近记录: |