docker 命令大全(保姆级教程)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;演示链接: http://116.62.199.48:7070 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观
在当今的软件开发领域,Docker 已经成为容器化技术的基石,它简化了开发、测试和部署流程,帮助开发者实现“一次构建,到处运行”的目标。随着 Docker 的广泛应用,掌握其核心命令成为编程人员的必备技能。本文将系统性地梳理 Docker 命令大全,涵盖从基础操作到高级功能的全场景实践,旨在帮助编程初学者快速上手,中级开发者深入掌握技巧。
一、安装与环境配置
1.1 安装 Docker
不同操作系统下 Docker 的安装命令略有差异,以下是常见系统的安装示例:
- Ubuntu/Debian:
sudo apt-get update sudo apt-get install docker.io
- CentOS/RHEL:
sudo yum install -y docker sudo systemctl start docker
- macOS:通过 Homebrew 安装:
brew install --cask docker
1.2 验证安装
安装完成后,通过以下命令验证 Docker 是否正常运行:
docker --version
docker run hello-world
若成功输出欢迎信息,说明环境配置完成。
二、Docker 基础命令详解
2.1 查看 Docker 版本与状态
-
查看版本信息:
docker version
该命令会返回客户端与服务端的版本号,帮助排查版本兼容性问题。
-
查看系统信息:
docker info
输出包括存储驱动、网络配置、镜像与容器数量等,适合排查资源使用异常。
三、镜像管理命令
3.1 拉取与搜索镜像
-
从仓库拉取镜像:
docker pull nginx:latest
此命令从 Docker Hub 下载最新版 Nginx 镜像。
-
搜索镜像:
docker search python
返回与“python”相关的镜像列表,包括星级评分和官方认证标记。
3.2 镜像构建与保存
-
构建镜像:
假设存在一个Dockerfile
文件:FROM python:3.8-slim COPY . /app WORKDIR /app RUN pip install -r requirements.txt CMD ["python", "app.py"]
构建命令:
docker build -t my-python-app:1.0 .
-
保存与加载镜像:
docker save -o my-image.tar my-python-app:1.0 # 保存为 tar 文件 docker load -i my-image.tar # 从 tar 文件加载
3.3 镜像清理与查询
-
删除镜像:
docker rmi my-python-app:1.0
-
查看所有镜像:
docker images
四、容器操作命令
4.1 创建与运行容器
- 运行容器:
docker run -d \ --name my-nginx \ -p 8080:80 \ nginx:latest
参数解释:
-d
:后台运行(守护模式)--name
:指定容器名称-p
:端口映射(主机8080 → 容器80)
4.2 容器状态与交互
-
查看运行中的容器:
docker ps
-
进入容器:
docker exec -it my-nginx /bin/bash
4.3 停止与删除容器
-
停止容器:
docker stop my-nginx
-
删除容器:
docker rm my-nginx
五、网络与存储命令
5.1 网络管理
-
创建自定义网络:
docker network create my-network
-
连接容器到网络:
docker network connect my-network my-container
5.2 数据卷操作
-
创建数据卷:
docker volume create my-volume
-
挂载数据卷到容器:
docker run -v my-volume:/app/data ...
六、高级功能与最佳实践
6.1 Docker Compose 简化多容器管理
通过 docker-compose.yml
文件定义多服务架构:
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
执行命令:
docker-compose up -d
docker-compose down
6.2 日志与调试
-
查看容器日志:
docker logs my-nginx --tail 100 --follow
-
实时监控资源使用:
docker stats
七、常见问题与解决方案
7.1 容器无法启动
问题:容器启动后立即退出。
解决方案:
- 检查容器进程是否在前台运行(如添加
CMD ["tail", "-f", "/dev/null"]
)。 - 使用
-it
参数强制交互模式调试。
7.2 镜像占用空间过大
解决方案:
- 清理未使用的镜像与容器:
docker system prune -a
八、结论
本文通过系统性地梳理 Docker 命令大全,从基础操作到高级功能,覆盖了开发者日常所需的 90% 场景。掌握这些命令不仅能提升开发效率,还能为团队协作、自动化部署奠定坚实基础。建议读者结合实践案例逐步探索,例如通过 Docker Compose 部署一个完整的微服务架构,或利用数据卷实现持久化存储。Docker 的核心价值在于标准化与隔离性,而命令的灵活运用则是解锁其潜力的关键。
通过本文的学习,读者可以快速成为 Docker 命令的熟练使用者,为后续深入学习容器编排(如 Kubernetes)和云原生技术打下坚实基础。