mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
style: apply global formatting fixes (struct, spacing, zhlint)
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
### 架构概览
|
||||
|
||||
在开始之前,先看整体架构(如图 10-1 所示):
|
||||
在开始之前,先看整体架构 (如图 10-1 所示):
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
@@ -37,7 +37,7 @@ flowchart TD
|
||||
- `web` 服务运行 Django 应用,对外暴露 8000 端口
|
||||
- `db` 服务运行 PostgreSQL 数据库,只在内部网络可访问
|
||||
- 两个服务通过 Docker Compose 自动创建的网络相互通信
|
||||
- `web` 服务可以通过服务名 `db` 访问数据库(Docker 内置 DNS)
|
||||
- `web` 服务可以通过服务名 `db` 访问数据库 (Docker 内置 DNS)
|
||||
|
||||
### 准备工作
|
||||
|
||||
@@ -51,6 +51,8 @@ $ mkdir django-docker && cd django-docker
|
||||
|
||||
### 步骤 1:创建 Dockerfile
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
FROM python:3.12-slim
|
||||
|
||||
@@ -89,6 +91,8 @@ COPY . /code/
|
||||
|
||||
### 步骤 2:创建 requirements.txt
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```txt
|
||||
Django>=5.0,<6.0
|
||||
psycopg[binary]>=3.1,<4.0
|
||||
@@ -144,7 +148,7 @@ volumes:
|
||||
|
||||
#### db 服务
|
||||
|
||||
db 服务 配置如下:
|
||||
db 服务配置如下:
|
||||
|
||||
```yaml
|
||||
db:
|
||||
@@ -164,7 +168,7 @@ db:
|
||||
|
||||
#### web 服务
|
||||
|
||||
web 服务 配置如下:
|
||||
web 服务配置如下:
|
||||
|
||||
```yaml
|
||||
web:
|
||||
@@ -255,7 +259,7 @@ $ docker compose up
|
||||
```
|
||||
|
||||
你会看到:
|
||||
1. 首先构建 web 镜像(第一次运行)
|
||||
1. 首先构建 web 镜像 (第一次运行)
|
||||
2. 启动 db 服务,等待健康检查通过
|
||||
3. 启动 web 服务
|
||||
|
||||
@@ -294,9 +298,11 @@ $ docker compose exec db psql -U django_user -d django_db
|
||||
|
||||
### 常见问题排查
|
||||
|
||||
#### Q1: 数据库连接失败
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
**错误信息**:`django.db.utils.OperationalError: could not connect to server`**可能原因与解决方案**:
|
||||
#### Q1:数据库连接失败
|
||||
|
||||
**错误信息**:`django.db.utils.OperationalError: could not connect to server` **可能原因与解决方案**:
|
||||
|
||||
| 原因 | 解决方案 |
|
||||
|------|---------|
|
||||
@@ -311,7 +317,7 @@ $ docker compose ps
|
||||
$ docker compose logs db
|
||||
```
|
||||
|
||||
#### Q2: 代码修改没有生效
|
||||
#### Q2:代码修改没有生效
|
||||
|
||||
**可能原因**:
|
||||
|
||||
@@ -319,7 +325,7 @@ $ docker compose logs db
|
||||
2. **Volume 挂载问题**:检查 `compose.yaml` 中的 volumes 配置
|
||||
3. **缓存问题**:尝试 `docker compose restart web`
|
||||
|
||||
#### Q3: 权限问题(Linux)
|
||||
#### Q3:权限问题
|
||||
|
||||
运行以下命令:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user