Docker 是一种轻量级容器化技术,通过标准化封装应用及其依赖环境实现快速部署。以下是详细部署流程和关键概念解析:
nginx:alpine
)。bash
sudo apt update && sudo apt install docker.io
sudo systemctl enable --now docker
验证安装:
docker --version
docker run hello-world # 测试运行
示例:部署 Python Flask 应用
# 基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制依赖文件并安装
COPY requirements.txt .
RUN pip install -r requirements.txt
# 复制应用代码
COPY . .
# 暴露端口
EXPOSE 5000
# 启动命令
CMD ["python", "app.py"]
docker build -t my-flask-app:1.0 .
-t
:指定镜像名称和标签.
:Dockerfile 所在目录docker run -d -p 5000:5000 --name flask-container my-flask-app:1.0
-d
:后台运行-p
:主机端口:容器端口映射--name
:指定容器名称bash
docker ps
bash
docker stop flask-container
docker rm flask-container
bash
docker logs flask-container
持久化数据
使用卷(Volume)保存数据库等数据:
docker run -d -v /host/path:/container/path mysql
多容器编排(Docker Compose)
用 docker-compose.yml
定义多服务(如 Web + DB):
version: '3'
services:
web:
build: .
ports: ["5000:5000"]
redis:
image: "redis:alpine"
启动:
docker-compose up -d
推送镜像到仓库
docker tag my-flask-app:1.0 username/repo:tag
docker push username/repo:tag
docker
组:
bash
sudo usermod -aG docker $USER
-p
参数(如 -p 8080:5000
)。bash
docker system prune -a # 删除无用镜像/容器
通过以上步骤,你可以快速上手 Docker 部署。建议从简单应用开始,逐步尝试网络、存储和编排等高级功能。