我目前正在使用这个 Dockerfile 来构建我的后端服务:
FROM python:3.9-buster
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY . /app
CMD python manage.py runserver 0.0.0.0:8002
我也有一个 mysql 数据库,Docker-compose 文件是:
version: '3.8'
services:
dj:
build:
context: .
dockerfile: Dockerfile
ports:
- 8000:8002
volumes:
- .:/app
depends_on:
- db
db:
image: mysql:5.7.22
restart: always
environment:
MYSQL_DATABASE: ...
MYSQL_USER: ...
MYSQL_PASSWORD: ...
MYSQL_ROOT_PASSWORD: ...
volumes:
- .dbdata:/var/lib/mysql
ports:
- 33068:3306
我想减小目前为 1.2G 的容器大小在一些使用 alpine 作为基本图像的博客上,但这对我不起作用,可能是因为我的 required.txt:
Django==3.1.3
djangorestframework==3.12.2
django-cors-headers==3.5.0
djangorestframework-simplejwt==4.7.1
pyjwt==2.1.0
mysqlclient==2.0.1
django-mysql==3.9
还不够。