在 Debian 上使用 Docker 部署服务,通常分为 安装 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
docker run -d \
--name nginx \
-p 80:80 \
nginx:latest
访问服务器 IP 即可看到 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
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v mysql_data:/var/lib/mysql \
--restart always \
mysql:8
docker run -d \
--name redis \
-p 6379:6379 \
--restart always \
redis:7
以 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 composenginx + SSL如果你有 具体要部署的服务(如 WordPress、Spring Boot、MySQL 集群、内网服务等),告诉我,我可以直接给你 完整部署方案 + compose 文件。