智享技巧屋
第二套高阶模板 · 更大气的阅读体验

Docker如何部署项目:一步步教你轻松上线应用

发布时间:2025-12-17 01:12:27 阅读:294 次

ref="/tag/2019/" style="color:#C468A7;font-weight:bold;">Docker如何部署项目:一步步教你轻松上线应用

你写好了网站,本地跑得挺顺,但一到服务器就各种依赖出问题?Python版本不对、Node环境没装、数据库连不上……这些问题,用Docker基本都能绕过去。它把你的项目和所有依赖打包成一个“盒子”,走到哪都能原样运行。

比如你在家写的Flask小博客,换个服务器可能半天都配不好环境。但用Docker,别人只需要一条命令就能启动,省事又稳定。

第一步:准备Docker环境

先确认服务器上装了Docker。大多数Linux系统可以用下面这条命令快速安装:

curl -fsSL https://get.docker.com | sh

装完后执行 docker --version 看看有没有输出版本号,有就说明装好了。

第二步:写一个Dockerfile

Dockerfile 是构建镜像的“菜谱”。假设你有个简单的Node.js项目,根目录下新建一个叫 Dockerfile 的文件,内容这样写:

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

这段的意思是:基于Node 16的轻量镜像,把代码复制进去,装好依赖,暴露3000端口,最后运行启动命令。

第三步:构建镜像

在项目根目录执行:

docker build -t my-web-app .

这会根据Dockerfile生成一个叫 my-web-app 的镜像。构建过程就像打包快递,把代码、配置、环境全封进一个箱子里。

第四步:运行容器

镜像打好后,用下面命令启动容器:

docker run -d -p 80:3000 my-web-app

这里 -d 是后台运行,-p 80:3000 把服务器的80端口映射到容器的3000端口。现在访问服务器IP,就能看到你的网页了。

第五步:配合Nginx反向代理(可选)

如果你还想跑别的服务,比如前端和后端分开,可以用Docker Compose统一管理。新建 docker-compose.yml 文件:

version: '3'
services:
frontend:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./frontend:/usr/share/nginx/html
backend:
build: ./backend
ports:
- "3000:3000"

然后运行 docker-compose up -d,前后端一起启动,互不干扰。

实际使用中,很多人一开始觉得Docker复杂,但一旦习惯了,你会发现部署再也不是“碰运气”的事。改个版本、换台机器,照样秒启。

别忘了定期清理不用的镜像和容器,避免磁盘占满:

docker system prune -a

一句话:Docker不是万能钥匙,但它能把部署这件麻烦事,变得像插U盘一样简单。