2026-09-22 04:42 1001 次浏览

Docker 部署配置全流程:Windows 与 Linux 双平台实操笔记

从零开始梳理 Docker 在 Windows 和 Linux 上的安装、镜像加速、容器编排与常见报错处理,附跨平台差异对比和一份可直接套用的 docker-compose 模板,适合刚接触容器化的站长与运维。

第一次在服务器上装 Docker,很多人会卡在“装完跑不起来”这一步。不是镜像拉不动,就是端口映射后外网访问不了。这篇把 Windows 和 Linux 两条线的流程拆开讲,顺带把踩过的坑标出来。

Linux:三条命令能跑起来,但别急着收工

主流发行版现在都能用官方脚本一键装,但生产环境建议走包管理器,方便后续升级和卸载。Ubuntu 系用 apt,CentOS 系用 yum,装完先确认 docker versionsystemctl status docker 两个输出都正常。

镜像加速几乎是国内服务器的必选项。编辑 /etc/docker/daemon.json,写入 registry-mirrors 地址,然后 systemctl daemon-reloadrestart docker。不配置的话,拉一个几百兆的镜像能等到怀疑人生。

容器跑起来后,端口不通通常不是 Docker 的锅。先看防火墙,再看云厂商的安全组,最后才怀疑 iptables 规则。这三层里任意一层没放行,外网都进不来。

Windows:WSL2 是默认答案,但资源要手动限制

Windows 上装 Docker Desktop,底层默认走 WSL2。装完第一件事不是拉镜像,而是去设置里把 CPU 和内存上限调一下。默认配置会吃掉大量内存,开着 IDE 再跑几个容器,机器直接卡死。

文件挂载是另一个高频问题。Windows 路径和容器内路径的写法不一样,用 -v 挂载时建议用绝对路径,并且注意 WSL2 访问 Windows 磁盘的性能损耗。数据库这类频繁读写的服务,数据目录最好放在 WSL2 内部,而不是挂到 Windows 盘符下。

如果只是本地开发调试,Docker Desktop 够用。真要跑对外服务,还是把容器放到 Linux 物理机上更稳。像 香港大带宽服务器 XII 这类 E5-2683v4*2 / 64G / 300M 的配置,跑十几个容器再加反向代理,资源余量很足,跨境访问延迟也低。

一份能直接改的 compose 模板

单容器用 docker run 没问题,服务一多就得靠 compose。下面这个结构适合大多数 Web 项目:

  • web 服务:映射 80 和 443,挂载代码目录
  • db 服务:只在内网暴露端口,数据卷单独命名
  • redis 服务:加密码,限制最大内存
  • 统一用 restart: unless-stopped,避免重启后服务掉线

写完 compose 文件先跑 docker compose config 检查语法,再 up -d。出问题用 logs -f 跟日志,比盲目重启快得多。

最后提醒一句:容器里的时区、日志轮转、数据备份这三件事,上线前一定要配。否则跑一段时间后,磁盘被日志撑满或者数据丢了,再回头补配置就很被动。