以下是 Docker 的 常用命令清单(按场景分类),方便日常操作和查找👇 附 关键参数解释和 使用场景示例!
一、镜像(Image)管理
命令 | 作用 | 常用参数/示例 |
---|---|---|
docker images | 查看本地所有镜像 | docker images -q (仅显示镜像ID) |
docker pull <镜像名> | 从仓库拉取镜像 | docker pull ubuntu:22.04 (指定版本标签) |
docker search <关键词> | 搜索 Docker Hub 镜像 | docker search nginx |
docker rmi <镜像名或ID> | 删除镜像 | docker rmi $(docker images -q) (删除所有镜像)⚠️慎用 |
docker build -t <镜像名> . | 构建镜像(需要 Dockerfile) | docker build -t myapp:v1 . (当前目录构建) |
二、容器(Container)管理
命令 | 作用 | 常用参数/示例 |
---|---|---|
docker run <镜像名> | 创建并启动容器 | docker run -d --name mynginx -p 80:80 nginx -d 后台运行,-p 端口映射 |
docker ps | 查看运行中的容器 | docker ps -a (显示全部容器,包括停止的) |
docker start/stop/restart <容器名> | 启动/停止/重启容器 | docker stop mynginx |
docker exec -it <容器名> <命令> | 进入运行中的容器 | docker exec -it mynginx /bin/bash (用Bash交互) |
docker logs <容器名> | 查看容器日志 | docker logs -f mynginx (持续跟踪日志,类似 tail -f) |
docker rm <容器名> | 删除已停止的容器 | docker rm $(docker ps -aq) (删除所有停止的容器)⚠️慎用 |
docker cp <文件路径> <容器名>:<目标路径> | 主机与容器间拷贝文件 | docker cp index.html mynginx:/usr/share/nginx/html |
三、网络与数据卷
命令 | 作用 | **示例及说明 |
---|---|---|
docker network ls | 查看Docker网络 | |
docker network create <网络名> | 创建自定义网络 | docker network create mynet (容器间通信更安全) |
docker volume create <卷名> | 创建数据卷 | docker volume create mydata (持久化存储数据) |
docker run -v <卷名>:<容器路径> | 挂载数据卷到容器 | docker run -v mydata:/var/lib/mysql mysql (数据库数据持久化) |
四、实用监控与统计
命令 | 作用 | 参数说明 |
---|---|---|
docker stats | 实时监控容器资源消耗 | docker stats mynginx (显示CPU、内存、网络等) |
docker top <容器名> | 查看容器内进程 | |
docker inspect <容器名> | 查看容器详细配置信息 | 会输出JSON格式的大量细节(如IP地址、挂载卷、网络配置等) |
五、简洁版速查表
<BASH>
# 查看所有容器(简洁)
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
#更新容器自启动
docker update --restart=always <容器id>
# 清理无用数据(谨慎使用!)
docker system prune -a --volumes
六、重点命令场景示例
- 运行一个 MySQL 容器:
<BASH>
docker run -d --name mysql_db \ -e MYSQL_ROOT_PASSWORD=123456 \ -v mysql_data:/var/lib/mysql \ -p 3306:3306 \ mysql:8.0
- 进入容器修改配置:
<BASH>
docker exec -it mysql_db /bin/bash
额外提示
- 避免 Root 权限:将用户加入
docker
组(操作完成后需重新登录):<BASH>
sudo usermod -aG docker $USER
- 命令补全:安装
bash-completion
后,输入命令时按Tab
可自动补全。