首页主机资讯Debian系统如何利用Docker部署应用

Debian系统如何利用Docker部署应用

时间2026-01-22 05:43:04发布访客分类主机资讯浏览1154
导读:在 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

三 部署示例二 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
    • 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):
      • { “registry-mirrors”: [“https://< 你的镜像源> ”] }
    • 重启 Docker:sudo systemctl daemon-reload & & sudo systemctl restart docker
  • 安全建议:
    • 避免以 root 在容器内运行进程;为应用配置最小权限与只读文件系统(如可行)
    • 使用Secrets或受控环境变量管理敏感信息;定期更新 Docker 与镜像以修补漏洞

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统如何利用Docker部署应用
本文地址: https://pptw.com/jishu/789612.html
Docker日志在Debian上如何查看 C++程序在Linux如何进行安全防护

游客 回复需填写必要信息