💡 核心信息 适用后端: Python/Node.js/Java 等常见后端语言 适用系统: Linux (Ubuntu 22.04+) / macOS / Windows (WSL2) Docker 版本: 24.0.0+ 最后更新: 2026-03-07 目标: 将后端应用部署到 Docker 容器中
yixinim-backend/
├── app.py
├── requirements.txt
├── Dockerfile
├── config/
│ └── production.yaml
└── .envflask==2.3.2
gunicorn==20.1.0
python-dotenv==1.0.0Dockerfile:| 指令 | 说明 |
|---|---|
FROM | 指定基础镜像,这里使用官方 Python 3.11 镜像 |
WORKDIR | 设置工作目录,所有后续命令都在此目录执行 |
COPY | 将当前目录文件复制到镜像中 |
RUN | 在镜像中执行命令,安装依赖 |
ENV | 设置环境变量 |
EXPOSE | 暴露端口,告诉 Docker 容器监听的端口 |
CMD | 容器启动时执行的命令 |
-t: 指定镜像名称和标签 (格式: 名称:标签).: 指定构建上下文 (当前目录)Sending build context to Docker daemon 2.048kB
Step 1/7 : FROM python:3.11-slim
...
Successfully built 123456789abc
Successfully tagged yixinim-backend:latestREPOSITORY TAG IMAGE ID CREATED SIZE
yixinim-backend latest 123456789abc 2 minutes ago 128MB-d: 后台运行容器-p: 端口映射 (宿主机端口:容器端口)--name: 容器名称yixinim-backend:latest: 镜像名称CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
123456789abc yixinim-backend:latest "gunicorn --bind 0.0.0…" 2 minutes ago Up 2 minutes 0.0.0.0:5000->5000/tcp yixinim-backendconfig/production.yaml 中添加数据库配置:docker-compose.yml 中定义的名称)yixinim-db 或 db),而不是 localhostrequirements.txt 文件RUN apt-get update && apt-get install -y build-essential (如果需要编译依赖)docker-compose.yml 中增加健康检查:.env 文件或 Docker Compose 配置管理| 命令 | 说明 |
|---|---|
docker build -t <image>:<tag> . | 构建 Docker 镜像 |
docker run -d -p <host_port>:<container_port> --name <container_name> <image> | 运行容器 |
docker ps | 查看正在运行的容器 |
docker logs <container_name> | 查看容器日志 |
docker stop <container_name> | 停止容器 |
docker rm <container_name> | 删除容器 |
docker images | 查看本地镜像 |
docker rmi <image_id> | 删 除镜像 |
docker network create <network_name> | 创建 Docker 网络 |
docker-compose up -d | 启动 Docker Compose 服务 |
docker-compose down | 停止 Docker Compose 服务 |