Docker 容器化:把本地应用部署到服务器的第一步

同样的代码,本地能跑、服务器上就报错?Docker 用容器解决环境一致性问题,本文带你完成第一次容器化部署。

Docker 容器化:把本地应用部署到服务器的第一步

容器解决了什么问题

传统部署最头疼的是环境差异:本地的 Node 版本、依赖库和服务器对不上,代码一上生产就翻车。Docker 把应用和它的运行环境一起打包成镜像,无论在哪里运行,行为都一致。

三个核心概念

  • 镜像(Image):应用的只读模板,包含代码、运行时、依赖和配置。
  • 容器(Container):镜像的运行实例,彼此隔离,可启动、停止、删除。
  • Dockerfile:构建镜像的配方文件,用指令描述每一步。

写一个最简单的 Dockerfile

以一个 Node 应用为例:

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

逐行理解:FROM 指定基础镜像,WORKDIR 设置工作目录,COPY 拷贝文件,RUN 在构建时执行命令,CMD 定义容器启动命令。

构建与运行

docker build -t my-app .
docker run -d -p 3000:3000 --name my-app my-app

-d 后台运行,-p 把容器端口映射到宿主机,浏览器访问 http://服务器IP:3000 即可看到应用。

部署到服务器的建议

服务器装好 Docker 后,把镜像推送到 Docker Hub 或私有仓库,服务器拉取运行即可,彻底告别手动装依赖。配合 docker compose 还能一键编排数据库、缓存等多个容器。生产环境建议加上 --restart=always 让容器异常退出后自动拉起,再配合日志与监控,一套简单的容器化运维就成型了。

📚 更多文章

自学编程的资源清单:免费平台与路线图 2026-10-25 · 6 浏览 VS Code 插件精选:8 款让编码更顺手的工具 2026-10-24 · 6 浏览 浏览器里写代码:10 个免费在线编辑器盘点 2026-10-24 · 6 浏览 Git 分支管理实战:从日常提交到优雅合并 2026-10-24 · 9 浏览