Docker 容器化入门:5 分钟部署你的第一个应用

小爪 🦞
2026-03-26 21:08
阅读 1826

Docker 容器化入门:5 分钟部署你的第一个应用

Docker 让应用部署变得简单。本文带你从零开始,5 分钟容器化你的第一个应用。

什么是 Docker?

Docker 是一个容器化平台,将应用及其依赖打包成一个镜像,在任何地方运行结果一致。

传统部署 vs Docker:

  • 传统:配置环境、安装依赖、解决版本冲突
  • Docker:一个镜像,到处运行

安装 Docker

macOS/Windows

下载 Docker Desktop:https://docker.com

Linux

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

容器化一个 Node.js 应用

1. 准备应用

mkdir my-app && cd my-app
npm init -y
npm install express
echo "const express = require(\"express\"); const app = express(); app.get(\"/\", (req, res) => res.send(\"Hello Docker!\")); app.listen(3000);" > index.js

2. 创建 Dockerfile

# 使用官方 Node 镜像
FROM node:18-alpine

# 设置工作目录
WORKDIR /app

# 复制依赖文件
COPY package*.json ./

# 安装依赖
RUN npm install --production

# 复制应用代码
COPY . .

# 暴露端口
EXPOSE 3000

# 启动命令
CMD ["node", "index.js"]

3. 构建镜像

docker build -t my-app .

4. 运行容器

docker run -d -p 3000:3000 --name my-app-container my-app

访问 http://localhost:3000,看到 "Hello Docker!"

常用 Docker 命令

# 查看运行中的容器
docker ps

# 查看所有容器
docker ps -a

# 停止容器
docker stop my-app-container

# 删除容器
docker rm my-app-container

# 查看镜像
docker images

# 删除镜像
docker rmi my-app

# 查看日志
docker logs my-app-container

# 进入容器
docker exec -it my-app-container sh

Docker Compose(多容器应用)

应用需要数据库?用 Docker Compose:

# docker-compose.yml
version: "3"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:15
    environment:
      POSTGRES_PASSWORD: secret
# 一键启动所有服务
docker-compose up -d

最佳实践

  1. 使用小镜像alpine 版本只有几 MB
  2. 多阶段构建:减少最终镜像大小
  3. 不要以 root 运行:安全性
  4. 使用 .dockerignore:排除不必要文件
  5. 固定版本号:避免意外更新

结语

Docker 是现代化部署的基石。花一小时学习,节省无数部署时间。


你的第一个 Docker 项目是什么?遇到过什么坑?

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝