Remove blank lines after code block markers

This commit is contained in:
yeasy
2026-03-21 22:36:09 -07:00
parent 312f8fea42
commit 9ac19d79ee
132 changed files with 0 additions and 1517 deletions

View File

@@ -30,7 +30,6 @@ flowchart TD
Browser["localhost:8000<br/>(浏览器访问)"]
Port8000 --> Browser
```
11-1Django + PostgreSQL Compose 架构
**关键点**
@@ -47,7 +46,6 @@ flowchart TD
```bash
$ mkdir django-docker && cd django-docker
```
我们需要创建三个文件`Dockerfile``requirements.txt` `compose.yaml`
### 11.6.3 步骤 1创建 Dockerfile
@@ -75,7 +73,6 @@ RUN pip install --no-cache-dir -r requirements.txt
COPY . /code/
```
**逐行解释**
| 指令 | 作用 | 为什么这样写 |
@@ -95,7 +92,6 @@ Django>=5.0,<6.0
psycopg[binary]>=3.1,<4.0
gunicorn>=21.0,<22.0
```
**依赖说明**
| 包名 | 作用 |
@@ -140,7 +136,6 @@ services:
volumes:
postgres_data:
```
**配置详解**
#### db 服务
@@ -160,7 +155,6 @@ db:
test: ["CMD-SHELL", "pg_isready -U django_user -d django_db"]
interval: 5s
```
> **笔者提醒**`volumes` 配置很重要没有它每次容器重启数据都会丢失笔者见过不少新手因为忘记这一步导致开发数据全部丢失
#### web 服务
@@ -179,7 +173,6 @@ web:
db:
condition: service_healthy # 等待数据库健康后再启动
```
**关键配置说明**
| 配置项 | 作用 | 笔者建议 |
@@ -195,7 +188,6 @@ web:
```bash
$ docker compose run --rm web django-admin startproject mysite .
```
**命令解释**
- `docker compose run`运行一次性命令
@@ -218,7 +210,6 @@ django-docker/
├── asgi.py
└── wsgi.py
```
> 💡 **Linux 用户注意**如果遇到权限问题执行 `sudo chown -R $USER:$USER .`
### 11.6.7 步骤 5配置数据库连接
@@ -243,7 +234,6 @@ DATABASES = {
ALLOWED_HOSTS = ['*']
```
**为什么 HOST `db` 而不是 `localhost`**
Docker Compose 各服务通过服务名相互访问Docker 内置的 DNS 会将 `db` 解析为 db 服务容器的 IP 地址这是 Docker Compose 的核心功能之一
@@ -253,7 +243,6 @@ ALLOWED_HOSTS = ['*']
```bash
$ docker compose up
```
你会看到
1. 首先构建 web 镜像 (第一次运行)
@@ -266,7 +255,6 @@ db-1 | LOG: database system is ready to accept connections
web-1 | Watching for file changes with StatReloader
web-1 | Starting development server at http://0.0.0.0:8000/
```
打开浏览器访问 `http://localhost:8000`可以看到 Django 欢迎页面
### 11.6.9 常用开发命令
@@ -274,7 +262,6 @@ web-1 | Starting development server at http://0.0.0.0:8000/
在另一个终端窗口执行
```bash
## 执行数据库迁移
$ docker compose exec web python manage.py migrate
@@ -291,7 +278,6 @@ $ docker compose exec web python manage.py shell
$ docker compose exec db psql -U django_user -d django_db
```
> 💡 笔者建议使用 `exec` 而不是 `run``exec` 在已运行的容器中执行命令`run` 会创建新容器
### 11.6.10 常见问题排查
@@ -307,13 +293,11 @@ $ docker compose exec db psql -U django_user -d django_db
| 网络未创建 | 运行 `docker compose down` 后重新 `up` |
```bash
## 调试:检查数据库是否正常运行
$ docker compose ps
$ docker compose logs db
```
#### Q2代码修改没有生效
**可能原因**
@@ -325,12 +309,10 @@ $ docker compose logs db
#### Q3权限问题
```bash
## 如果容器内创建的文件 root 用户所有
$ sudo chown -R $USER:$USER .
```
### 11.6.11 开发 vs 生产关键差异
笔者特别提醒本节的配置是 **开发环境** 配置生产环境需要以下调整
@@ -344,7 +326,6 @@ $ sudo chown -R $USER:$USER .
| **ALLOWED_HOSTS**| `['*']` | 具体域名 |**生产环境 Compose 文件示例**
```yaml
## compose.prod.yaml
services:
@@ -359,7 +340,6 @@ services:
# ...
```
### 11.6.12 延伸阅读
- [Compose 模板文件详解](11.5_compose_file.md)深入理解 Compose 文件的所有配置项