从 0 到 1 快速掌握 Docker 基本操作

写在前面

很多人学习 Docker 时,都停留在"知道是容器技术"的阶段,却始终没有"动起来"。如果你想:

  • 本地搭建 Docker 环境
  • ️ 学会构建和运行容器
  • 用几条命令就能部署一个 Web 应用

那么这一讲你一定要看完。本文将手把手教你:

✅ 如何安装 Docker(Windows、macOS、Linux)

✅ 最常用的 20+ 命令解释和实践

✅ 最容易踩坑的安装问题与解决方案


一、Docker 安装指南(各平台)

Linux 系统(推荐 Ubuntu)

Step 1:更新依赖包

bash 复制代码
sudo apt update
sudo apt install ca-certificates curl gnupg

Step 2:添加官方 GPG 密钥和仓库源

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Step 3:安装 Docker 引擎

bash 复制代码
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Step 4:测试安装

bash 复制代码
sudo docker run hello-world

提示:可通过 sudo usermod -aG docker $USER 让当前用户免 sudo 运行 docker


macOS 与 Windows 安装

macOS 用户注意:

  • macOS 使用的是基于虚拟机的 Docker Desktop,不是原生运行

Windows 用户注意:

  • 需开启 WSL2 支持(或 Hyper-V)
  • Windows Home 推荐配合 WSL2 + Docker Desktop

二、最常用 Docker 命令全解析

以下是你日常开发中最常用的命令,分为 5 类:


1. 镜像相关命令

命令 说明
docker pull nginx 从远端拉取镜像
docker images 查看本地镜像列表
docker rmi nginx 删除镜像
docker build -t myapp:v1 . 构建镜像(基于 Dockerfile)

2. 容器相关命令

命令 说明
docker run -d -p 80:80 nginx 后台运行容器并映射端口
docker ps 查看运行中的容器
docker ps -a 查看所有容器(含已退出)
docker stop 容器ID 停止容器
docker rm 容器ID 删除容器
docker exec -it 容器ID bash 进入容器内部交互

3. 数据卷命令(数据持久化)

命令 说明
docker volume create mydata 创建数据卷
docker volume ls 查看卷列表
docker run -v mydata:/data nginx 容器挂载数据卷

4. 网络命令(多容器通信)

命令 说明
docker network ls 查看网络
docker network create mynet 创建网络
docker run --network=mynet ... 指定容器使用自定义网络

5. 容器管理与资源限制

命令 说明
docker stats 实时查看容器 CPU/内存使用情况
docker logs 容器ID 查看容器日志
docker restart 容器ID 重启容器

三、实战:一键部署 Nginx + HTML 页面

bash 复制代码
# 新建工作目录并编写 index.html
mkdir web && cd web
echo "<h1>Hello Docker!</h1>" > index.html

# 使用 nginx 容器挂载本地文件
docker run -d -p 8080:80 -v $PWD:/usr/share/nginx/html nginx

访问 http://localhost:8080,页面即显示 Hello Docker!


️ 四、常见安装问题排查

问题 原因 解决方案
docker: command not found 未安装 / 环境变量未生效 确认路径或重启 shell
Got permission denied 当前用户无权限 使用 sudo 或添加用户组
Docker Desktop 启动慢 / 崩溃 系统资源不足 / WSL 配置问题 调整资源限制、重装 Docker Desktop
镜像下载慢 默认源在国外 配置国内镜像源,如阿里云、DaoCloud

五、✅ 总结

  • Docker 安装因系统略有不同,但核心流程一致
  • 掌握常用命令能快速上手日常开发与部署
  • 熟悉数据卷、网络、资源控制,有助于容器化复杂系统
  • 实战操作是最好的老师:多 run、多 exec、多试错!
相关推荐
码事漫谈1 天前
C++死锁深度解析:从成因到预防与避免
后端
码事漫谈1 天前
智能体颠覆教育行业:现状、应用与未来展望调研报告
后端
蓝-萧1 天前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key1 天前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
韩立学长1 天前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
汤姆yu1 天前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
灰小猿1 天前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
RedJACK~1 天前
Go Ebiten小游戏开发:扫雷
开发语言·后端·golang
天一生水water1 天前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
老夫的码又出BUG了1 天前
分布式Web应用场景下存在的Session问题
前端·分布式·后端