Fix and update

This commit is contained in:
baohua
2026-02-09 11:34:35 -08:00
parent 784c989789
commit bb94a9f617
136 changed files with 2146 additions and 262 deletions

View File

@@ -46,22 +46,29 @@ $ mkdir django-docker && cd django-docker
### Step 1: 创建 Dockerfile
具体内容如下
```docker
FROM python:3.12-slim
## 防止 Python 缓冲 stdout/stderr让日志实时输出
ENV PYTHONUNBUFFERED=1
## 设置工作目录
WORKDIR /code
## 先复制依赖文件,利用 Docker 缓存加速构建
COPY requirements.txt /code/
## 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
## 复制项目代码
COPY . /code/
```
@@ -79,6 +86,8 @@ COPY . /code/
### Step 2: 创建 requirements.txt
具体内容如下
```txt
Django>=5.0,<6.0
psycopg[binary]>=3.1,<4.0
@@ -95,6 +104,8 @@ gunicorn>=21.0,<22.0
### Step 3: 创建 docker-compose.yml
Step 3: 创建 docker-compose.yml 配置如下
```yaml
services:
db:
@@ -132,6 +143,8 @@ volumes:
#### db 服务
db 服务 配置如下
```yaml
db:
image: postgres:16 # 使用官方 PostgreSQL 16 镜像
@@ -150,6 +163,8 @@ db:
#### web 服务
web 服务 配置如下
```yaml
web:
build: . # 从当前目录的 Dockerfile 构建
@@ -222,6 +237,7 @@ DATABASES = {
}
## 允许的主机(开发环境)
ALLOWED_HOSTS = ['*']
```
@@ -231,6 +247,8 @@ ALLOWED_HOSTS = ['*']
### Step 6: 启动应用
运行以下命令
```bash
$ docker compose up
```
@@ -255,15 +273,19 @@ web-1 | Starting development server at http://0.0.0.0:8000/
```bash
## 执行数据库迁移
$ docker compose exec web python manage.py migrate
## 创建超级用户
$ docker compose exec web python manage.py createsuperuser
## 进入 Django shell
$ docker compose exec web python manage.py shell
## 进入 PostgreSQL 命令行
$ docker compose exec db psql -U django_user -d django_db
```
@@ -285,6 +307,7 @@ $ docker compose exec db psql -U django_user -d django_db
```bash
## 调试:检查数据库是否正常运行
$ docker compose ps
$ docker compose logs db
```
@@ -299,8 +322,11 @@ $ docker compose logs db
#### Q3: 权限问题Linux
运行以下命令
```bash
## 如果容器内创建的文件 root 用户所有
$ sudo chown -R $USER:$USER .
```
@@ -320,6 +346,7 @@ $ sudo chown -R $USER:$USER .
```yaml
## docker-compose.prod.yml
services:
web:
build: .