Debian系统如何利用Docker部署应用
导读:在 Debian 上使用 Docker 部署应用的实操指南 一 安装与启动 Docker 更新系统并安装依赖: sudo apt update && sudo apt install -y apt-transport-h...
在 Debian 上使用 Docker 部署应用的实操指南
一 安装与启动 Docker
- 更新系统并安装依赖:
- sudo apt update & & sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
- 添加 Docker 官方 GPG 密钥与 APT 源(推荐 keyring 方式):
- curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 安装引擎与 CLI:
- sudo apt update & & sudo apt install -y docker-ce docker-ce-cli containerd.io
- 启动并设置开机自启:
- sudo systemctl start docker & & sudo systemctl enable docker
- 验证安装:
- sudo docker run --rm hello-world
- 可选:免 sudo 使用 Docker
- sudo usermod -aG docker $USER(需重新登录生效)
二 部署示例一 Nginx 静态站点
- 快速运行官方镜像:
- sudo docker run -d --name web -p 80:80 nginx:latest
- 自定义页面与配置(Dockerfile 方式):
- 在项目目录创建 Dockerfile:
- FROM nginx:stable
- COPY index.html /usr/share/nginx/html/index.html
- EXPOSE 80
- 构建并运行:
- docker build -t my-nginx .
- docker run -d --name web -p 80:80 my-nginx
- 在项目目录创建 Dockerfile:
三 部署示例二 Python Flask 应用
- 项目结构:
- app.py
- requirements.txt(例如:Flask==2.0.2)
- Dockerfile:
- FROM python:3.9-slim
- WORKDIR /app
- COPY requirements.txt .
- RUN pip install --no-cache-dir -r requirements.txt
- COPY app.py .
- CMD [“python”, “app.py”]
- 构建与运行:
- docker build -t hello-docker .
- docker run -d --name flask -p 5000:5000 hello-docker
- 访问测试:
- curl http://localhost:5000 或浏览器访问 http://服务器IP:5000
四 多容器与编排 Docker Compose
- 安装 Compose 插件(Debian 12 推荐):
- sudo apt install -y docker-compose-plugin
- 示例 docker-compose.yml(Nginx + PostgreSQL 13):
- version: “3.8”
- services:
- web:
- image: nginx:latest
- ports:
- “80:80”
- db:
- image: postgres:13
- environment:
- POSTGRES_PASSWORD=example
- volumes:
- pg-data:/var/lib/postgresql/data
- web:
- volumes:
- pg-data:
- 启动与常用操作:
- docker compose up -d(后台启动)
- docker compose ps
- docker compose logs -f
- docker compose down
五 运维与安全要点
- 常用管理命令:
- 查看容器:docker ps -a
- 查看日志:docker logs < 容器名或ID>
- 停止/启动/删除:docker stop|start|rm < 容器名或ID>
- 删除镜像:docker rmi < 镜像名或ID>
- 数据与重启策略:
- 持久化卷:docker run -d -v /host/data:/container/data …
- 自动重启:docker run -d --restart always …
- 日志与存储驱动:
- 日志轮转(/etc/docker/daemon.json):
- {
- “log-driver”: “json-file”,
- “log-opts”: { “max-size”: “10m”, “max-file”: “3” }
- }
- {
- 日志轮转(/etc/docker/daemon.json):
- 镜像加速与网络:
- 国内镜像源(/etc/docker/daemon.json):
- { “registry-mirrors”: [“https://< 你的镜像源> ”] }
- 重启 Docker:sudo systemctl daemon-reload & & sudo systemctl restart docker
- 国内镜像源(/etc/docker/daemon.json):
- 安全建议:
- 避免以 root 在容器内运行进程;为应用配置最小权限与只读文件系统(如可行)
- 使用Secrets或受控环境变量管理敏感信息;定期更新 Docker 与镜像以修补漏洞
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统如何利用Docker部署应用
本文地址: https://pptw.com/jishu/789612.html
