温馨提示×

debian docker怎样部署服务

小樊
46
2026-10-13 22:21:24
栏目: 智能运维

在 Debian 上使用 Docker 部署服务,通常分为 安装 Docker → 准备服务 → 运行容器 →(可选)持久化与自启动 几个步骤。下面用最常见的方式给你一个完整示例,并附带几种常见服务模板。


一、在 Debian 上安装 Docker

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装依赖
sudo apt install -y ca-certificates curl gnupg

# 添加 Docker 官方 GPG
sudo install -l /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加 Docker 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动并设置开机自启
sudo systemctl enable --now docker

验证:

docker version

二、最简单的服务部署示例(Nginx)

1️⃣ 直接运行容器

docker run -d \
  --name nginx \
  -p 80:80 \
  nginx:latest

访问服务器 IP 即可看到 Nginx 页面。


三、使用 docker-compose 部署(推荐)

示例:Nginx + 静态网站

docker-compose.yml

version: "3"
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    restart: always

启动:

docker compose up -d

四、部署常见服务模板

✅ MySQL

docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3306:3306 \
  -v mysql_data:/var/lib/mysql \
  --restart always \
  mysql:8

✅ Redis

docker run -d \
  --name redis \
  -p 6379:6379 \
  --restart always \
  redis:7

✅ 后端服务(Node / Java / Python)

以 Node 为例:

docker run -d \
  --name node-app \
  -p 3000:3000 \
  -v $(pwd):/app \
  -w /app \
  node:18 \
  node server.js

五、数据持久化(重要)

✅ 使用 volume(推荐)

docker volume create mydata

✅ 或绑定宿主机目录

-v /data/app:/data

六、设置开机自启

docker update --restart always 容器名

或 compose:

restart: always

七、查看与管理

docker ps
docker logs 容器名
docker stats
docker stop 容器名
docker rm 容器名

八、生产环境建议

  • ✅ 使用 docker compose
  • ✅ 配合 nginx + SSL
  • ✅ 限制容器资源
  • ✅ 使用防火墙(ufw)
  • ✅ 日志集中管理

如果你有 具体要部署的服务(如 WordPress、Spring Boot、MySQL 集群、内网服务等),告诉我,我可以直接给你 完整部署方案 + compose 文件。

0 踩