网站首页 > 基础教程 正文
写在前面
很多人学习 Docker 时,都停留在“知道是容器技术”的阶段,却始终没有“动起来”。如果你想:
- 本地搭建 Docker 环境
- 学会构建和运行容器
- 用几条命令就能部署一个 Web 应用
那么这一讲你一定要看完。本文将手把手教你:
如何安装 Docker(Windows、macOS、Linux)
最常用的 20+ 命令解释和实践
最容易踩坑的安装问题与解决方案
一、Docker 安装指南(各平台)
Linux 系统(推荐 Ubuntu)
Step 1:更新依赖包
sudo apt update
sudo apt install ca-certificates curl gnupg
Step 2:添加官方 GPG 密钥和仓库源
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 引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Step 4:测试安装
sudo docker run hello-world
提示:可通过 sudo usermod -aG docker $USER 让当前用户免 sudo 运行 docker
macOS 与 Windows 安装
- 官网下载地址:
https://www.docker.com/products/docker-desktop/
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 页面
# 新建工作目录并编写 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、多试错!
- 上一篇: CSS基础知识(一) CSS入门
- 下一篇: Docker 网络详解:四大模式全解析
猜你喜欢
- 2025-05-15 Filebeat es 同步服务器日志到es
- 2025-05-15 docker容器的使用以及部署mysql
- 2025-05-15 一、docker部署ollama同时分别运行gemma3:27b bge-m3 deepseek-r1
- 2025-05-15 聊聊部署在docker容器里面的springboot项目如何启用arthas
- 2025-05-15 Docker容器化部署Java应用的最佳实践
- 2025-05-15 「linux」如何使用docker部署c/c++程序
- 2025-05-15 Docker安装MySQL 8、Redis并确保数据持久化的详细步骤
- 2025-05-15 Flask Docker Demo 项目指南
- 2025-05-15 彻底搞懂容器启动、停止、调试的每一个细节!
- 2025-05-15 Mac安装Docker及使用
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)