Docker 入门教程：彻底告别"在我电脑上是好的"

Docker 入门教程：镜像、容器与常用命令 "在我电脑上明明是好的"——Docker 就是为了终结这句话而生。它把应用和依赖打包成标准化的镜像，在任何装了 Docker 的机器上跑起来都一模一样。本教程依据 Docker 官方文档（docs.docker.com）整理。一、核心概念镜像（Image）：应用的安装包，只读模板容器（Container）：镜像运行起来的实例，可以创建多个仓库（Registry）：存镜像的地方，默认是 Docker Hub 类比：镜像是安装光盘，容器是装出来的系统（可以同时跑很多份）。二、安装 Linux 上用官方脚本一键安装（Ubuntu/Debian 等）： curl -fsSL https://get.docker.com | sh sudo systemctl enable --now docker docker --version 让当前用户免 sudo 使用（需重新登录生效）： sudo usermod -aG docker $USER 国内拉取镜像慢，需要配置镜像加速器：编辑 /etc/docker/daemon.json 加入 {"registry-mirrors": ["https://docker.m.daocloud.io"]} 后 systemctl restart docker。三、第一个容器 docker run hello-world # 官方欢迎容器 docker run -d -p 8080:80 nginx # 后台跑一个 Nginx，8080 映射到容器 80 -d：后台运行 -p 宿主端口:容器端口：端口映射 --name xxx：给容器起名 -v 宿主目录:容器目录：挂载数据卷，重要数据必须挂卷，容器删了数据还在 docker run -d --name web -p 8080:80 -v /opt/html:/usr/share/nginx/html nginx 四、常用命令速查 docker ps # 看运行中的容器 docker ps -a # 包括已停止的 docker logs -f web # 实时看容器日志 docker exec -it web bash # 进入容器内部 docker stop web # 停止 docker start web # 再启动 docker rm web # 删除容器（需先停止） docker images # 本地镜像列表 docker rmi nginx # 删除镜像 docker system df # 看 Docker 占了多少磁盘 docker system prune # 清理无用镜像/容器/网络五、构建自己的镜像：Dockerfile 在项目根目录建 Dockerfile： FROM node:22-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . EXPOSE 3000 CMD ["node", "server.js"] 构建并运行： docker build -t myapp:1.0 . docker run -d -p 3000:3000 myapp:1.0 六、总结需求命令跑一个服务 docker run -d -p 8080:80 镜像看容器 docker ps -a 看日志 docker logs -f 容器名进容器排查 docker exec -it 容器名 bash 持久化数据 -v 宿主目录:容器目录磁盘清理 docker system prune 入门之后，下一步是学习 Docker Compose 管理多容器应用——真实项目几乎都是数据库 + 应用 + 反代的组合。