mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
Fix and improve
This commit is contained in:
@@ -42,12 +42,10 @@
|
||||
$ mkdir django-docker && cd django-docker
|
||||
```
|
||||
|
||||
我们需要创建三个文件:`Dockerfile`、`requirements.txt` 和 `docker-compose.yml`。
|
||||
我们需要创建三个文件:`Dockerfile`、`requirements.txt` 和 `compose.yaml`。
|
||||
|
||||
### Step 1: 创建 Dockerfile
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```docker
|
||||
FROM python:3.12-slim
|
||||
|
||||
@@ -86,8 +84,6 @@ COPY . /code/
|
||||
|
||||
### Step 2: 创建 requirements.txt
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```txt
|
||||
Django>=5.0,<6.0
|
||||
psycopg[binary]>=3.1,<4.0
|
||||
@@ -102,9 +98,9 @@ gunicorn>=21.0,<22.0
|
||||
| `psycopg[binary]` | PostgreSQL 数据库驱动(推荐使用 psycopg 3) |
|
||||
| `gunicorn` | 生产环境 WSGI 服务器(可选,开发时可不用) |
|
||||
|
||||
### Step 3: 创建 docker-compose.yml
|
||||
### Step 3: 创建 compose.yaml
|
||||
|
||||
Step 3: 创建 docker-compose.yml 配置如下:
|
||||
Step 3: 创建 `compose.yaml` 配置如下:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
@@ -204,7 +200,7 @@ $ docker compose run --rm web django-admin startproject mysite .
|
||||
|
||||
```
|
||||
django-docker/
|
||||
├── docker-compose.yml
|
||||
├── compose.yaml
|
||||
├── Dockerfile
|
||||
├── requirements.txt
|
||||
├── manage.py
|
||||
@@ -317,7 +313,7 @@ $ docker compose logs db
|
||||
**可能原因**:
|
||||
|
||||
1. **开发服务器没有自动重载**:确保使用 `runserver` 而不是 `gunicorn`
|
||||
2. **Volume 挂载问题**:检查 `docker-compose.yml` 中的 volumes 配置
|
||||
2. **Volume 挂载问题**:检查 `compose.yaml` 中的 volumes 配置
|
||||
3. **缓存问题**:尝试 `docker compose restart web`
|
||||
|
||||
#### Q3: 权限问题(Linux)
|
||||
@@ -342,10 +338,10 @@ $ sudo chown -R $USER:$USER .
|
||||
| **Volume** | 挂载代码目录 | 代码直接 COPY 进镜像 |
|
||||
| **ALLOWED_HOSTS** | `['*']` | 具体域名 |
|
||||
|
||||
**生产环境 docker-compose.yml 示例**:
|
||||
**生产环境 Compose 文件示例**:
|
||||
|
||||
```yaml
|
||||
## docker-compose.prod.yml
|
||||
## compose.prod.yaml
|
||||
|
||||
services:
|
||||
web:
|
||||
@@ -360,7 +356,7 @@ services:
|
||||
|
||||
### 延伸阅读
|
||||
|
||||
- [Compose 模板文件详解](10.5_compose_file.md):深入理解 docker-compose.yml 的所有配置项
|
||||
- [Compose 模板文件详解](10.5_compose_file.md):深入理解 Compose 文件的所有配置项
|
||||
- [使用 WordPress](10.8_wordpress.md):另一个 Compose 实战案例
|
||||
- [Dockerfile 最佳实践](../16_appendix/16.1_best_practices.md):构建更小、更安全的镜像
|
||||
- [数据管理](../08_data_network/README.md):Volume 和数据持久化详解
|
||||
|
||||
Reference in New Issue
Block a user