Docker 部署教程

面向云服务器用户整理的 Docker 容器化应用部署教程,覆盖 Docker 安装、镜像拉取、容器运行、端口映射、数据卷、Docker Compose 和基础排查命令。

Image应用镜像
Container运行容器
Volume数据持久化
Network端口与网络

Docker 安装命令

复制对应命令到 SSH 终端执行。建议使用全新 Linux 系统,并确认服务器网络正常、具备 root 或 sudo 权限。

安装前建议

  • 建议使用全新 Linux 系统部署。
  • 确认服务器可以访问外网。
  • 需要 root 权限或 sudo 权限。
  • 部署业务前先规划端口和数据目录。
通用安装

Docker 一键安装命令

curl -fsSL https://get.docker.com | bash
启动服务

启动并设置开机自启

systemctl enable --now docker
版本检查

查看 Docker 版本

docker --version
测试运行

运行测试容器

docker run hello-world

Docker 常用命令

日常维护 Docker 应用时,最常用的是查看容器、查看日志、重启容器、进入容器和清理资源。

查看容器

查看正在运行的容器

docker ps
全部容器

查看所有容器

docker ps -a
重启容器

重启指定容器

docker restart 容器名称或ID
停止容器

停止指定容器

docker stop 容器名称或ID
拉取镜像

拉取指定镜像

docker pull nginx:latest
查看镜像

查看本地镜像

docker images
删除镜像

删除指定镜像

docker rmi 镜像ID
清理资源

清理无用镜像与缓存

docker system prune -a
日志

查看容器日志

docker logs -f 容器名称或ID
进入容器

进入容器终端

docker exec -it 容器名称或ID bash
资源占用

查看容器资源占用

docker stats
容器详情

查看容器详细信息

docker inspect 容器名称或ID
版本

查看 Docker Compose 版本

docker compose version
启动

后台启动 Compose 项目

docker compose up -d
停止

停止 Compose 项目

docker compose down
日志

查看 Compose 项目日志

docker compose logs -f

Docker Compose 部署示例

Docker Compose 适合部署需要多个服务协同运行的应用,例如网站程序、数据库、缓存、反向代理等。

示例:部署 Nginx 容器

创建 `docker-compose.yml` 文件后执行 `docker compose up -d`,即可在后台启动服务。实际部署时请根据项目修改端口、目录和镜像。

  • 端口映射:主机端口映射到容器端口
  • 数据卷:把容器数据保存到服务器目录
  • 重启策略:服务器重启后自动恢复运行
docker-compose.yml

Nginx 部署示例

services:
  nginx:
    image: nginx:latest
    container_name: qiyueyun-nginx
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
      - ./logs:/var/log/nginx

容器化部署流程

部署 Docker 应用时,建议先规划端口、目录、镜像版本和数据持久化方案,避免后期迁移困难。

01

准备服务器

确认系统、网络、端口、安全组和 root 权限,建议使用全新系统。

02

安装 Docker

安装 Docker 并设置开机自启,确认 `docker --version` 正常返回。

03

规划应用配置

确认镜像、端口、数据目录、环境变量和反向代理方式。

04

启动并检查

启动容器后检查日志、端口、访问状态和数据是否正常持久化。

常见问题

Docker 部署问题通常集中在端口冲突、镜像拉取失败、数据未持久化和容器启动异常。

容器启动后访问不了怎么办?

先检查容器是否运行、端口是否映射、服务器安全组是否放行、应用内部端口是否正确。

为什么重启服务器后容器没有自动启动?

需要为容器设置重启策略,例如使用 `restart: always`,或者运行容器时添加 `--restart=always`。

为什么容器删除后数据没了?

说明数据没有挂载到宿主机目录。部署数据库、网站、网盘等应用时必须规划数据卷。

Docker 和宝塔能一起用吗?

可以,但要注意端口冲突和资源占用。比如 80、443、3306 等端口不要被多个服务同时占用。

需要部署 Docker 应用?

如果你不确定如何配置镜像、端口、数据卷或 Docker Compose,可以通过工单提交应用名称和部署需求。