🎯 核心命令速查
| 类别 | 命令 | 功能描述 | 常用示例 |
|---|---|---|---|
| 容器生命周期 | docker run | 创建并启动一个新容器 | docker run -d -p 8080:80 --name mynginx nginx |
docker start/stop/restart | 启动、停止、重启已存在的容器 | docker stop mynginx | |
docker exec | 在运行中的容器内执行命令 | docker exec -it mynginx /bin/bash | |
docker rm | 删除一个或多个容器 | docker rm mynginx | |
| 镜像管理 | docker pull | 从仓库拉取镜像 | docker pull ubuntu:20.04 |
docker images | 列出本地所有镜像 | docker images | |
docker build | 根据 Dockerfile 构建镜像 | docker build -t my-app . | |
docker rmi | 删除本地一个或多个镜像 | docker rmi ubuntu:20.04 | |
| 状态与日志 | docker ps | 列出容器 | docker ps -a(查看所有容器) |
docker logs | 获取容器的日志 | docker logs -f mynginx | |
docker inspect | 获取容器/镜像的详细信息 | docker inspect mynginx | |
| 数据与网络 | docker volume create | 创建数据卷 | docker volume create my_vol |
docker network create | 创建网络 | docker network create my_net | |
| 系统管理 | docker system prune | 清理未使用的资源(容器、镜像、网络等) | docker system prune -a(清理所有未使用资源) |
docker stats | 动态显示容器的资源使用统计 | docker stats |
🚀 重点命令详解与技巧
下面是一些在开发和生产环境中高频使用或能极大提升效率的命令和技巧。
容器操作进阶
-
docker run的关键参数:这是最核心的命令之一,搭配不同参数可以实现多种效果。-
-i -t:通常组合为-it,用于启动一个交互式容器,并分配一个伪终端,方便你直接与容器 shell 交互。例如:docker run -it ubuntu /bin/bash。 -
-d:以守护进程(后台)模式运行容器。例如:docker run -d --name my_web nginx。 -
-p:进行端口映射,将容器的端口暴露给主机。格式为主机端口:容器端口,例如-p 8080:80。 -
-v:挂载数据卷,实现容器与主机之间或容器之间的数据持久化和共享。例如-v /host/data:/container/data。 -
--restart:配置容器的重启策略。例如--restart=always可以确保容器在退出时自动重启,非常适合生产环境中的服务。
-
-
进入容器的两种方式:
-
docker exec -it <容器> /bin/bash:这是更推荐的方式。它在运行中的容器内启动一个新的 shell 进程,使用exit退出时,容器不会停止。 -
docker attach <容器>:直接附加到容器正在运行的主进程上。如果从这个连接中输入exit,可能会导致容器停止运行。
-
系统维护与监控
-
docker system prune:这是一个清理磁盘空间的神器。它会删除所有已停止的容器、未被任何容器使用的网络、悬空的镜像(未被任何标签引用的中间层镜像)以及构建缓存。使用-a参数可以清理所有未使用的镜像,而--volumes则会连带未使用的数据卷一起清理。 -
docker stats:实时监控所有运行中容器的资源使用情况,包括 CPU、内存、网络 I/O 和磁盘 I/O,对排查性能问题非常有帮助。 -
docker system df:用于查看 Docker 整体占用的磁盘空间,详细列出镜像、容器、数据卷各自的空间使用情况。
💎 学习与使用建议
-
善用帮助:对任何命令有疑问,都可以在命令后加上
--help来查看官方说明和参数列表,例如docker run --help。 -
理解容器生命周期:熟悉从
docker create->docker start->docker stop->docker rm的完整流程,这有助于你更精细地控制容器。 -
组合使用:Docker 命令的强大之处在于组合。例如,你可以使用
docker exec -it $(docker ps -q -f name=myapp) /bin/bash来快速进入一个名为 "myapp" 的运行中容器。
1702

被折叠的 条评论
为什么被折叠?



