Docker常用命令集合
最近在学习ubuntu上安装和使用Docker,命令太多了,实在记不住,只好存在我的笔记里面,以备查。下面是我整理的,一个全面的Docker常用命令列表。按类型整理,包括容器生命周期管理、镜像操作、容器操作、网络、卷等。按照功能进行了分类,每个命令带简单解释和常用选项。
一、镜像相关命令
| 命令 | 说明 | 常用示例 |
|---|
docker pull | 下载镜像 | docker pull ubuntu:22.04 |
docker images | 列出本地镜像 | docker images -a (显示所有层) |
docker search | 搜索镜像仓库 | docker search nginx |
docker rmi | 删除镜像 | docker rmi <镜像ID> 、 docker rmi -f (强制) |
docker build | 通过 Dockerfile 构建镜像 | docker build -t myapp:1.0 . |
docker tag | 给镜像打标签 | docker tag ubuntu myrepo/ubuntu:v1 |
docker push | 上传镜像到仓库 | docker push myrepo/ubuntu:v1 |
docker history | 查看镜像构建历史 | docker history nginx |
docker save | 导出镜像为 tar 文件 | docker save -o ubuntu.tar ubuntu |
docker load | 从 tar 文件导入镜像 | docker load -i ubuntu.tar |
二、容器生命周期管理
| 命令 | 说明 | 常用示例 |
|---|
docker run | 创建并启动容器 | docker run -d --name mynginx -p 80:80 nginx |
docker start | 启动已停止的容器 | docker start mynginx |
docker stop | 优雅停止运行中的容器 | docker stop mynginx (默认 10 秒) |
docker restart | 重启容器 | docker restart mynginx |
docker pause | 暂停容器进程 | docker pause mynginx |
docker unpause | 恢复暂停的容器 | docker unpause mynginx |
docker rm | 删除已停止的容器 | docker rm mynginx 、 docker rm -f (强制删除运行中) |
docker kill | 强制终止容器(发送 SIGKILL) | docker kill mynginx |
docker exec | 在运行中的容器内执行命令 | docker exec -it mynginx bash |
docker ps | 列出容器 | docker ps (仅运行中)、 docker ps -a (全部) |
三、容器操作与信息
| 命令 | 说明 | 常用示例 |
|---|
docker logs | 查看容器日志 | docker logs -f --tail 100 mynginx |
docker inspect | 查看容器或镜像的元数据(JSON) | docker inspect mynginx |
docker top | 查看容器内进程 | docker top mynginx |
docker stats | 实时查看容器资源使用(CPU/内存等) | docker stats --no-stream |
docker port | 查看容器的端口映射 | docker port mynginx |
docker diff | 检查容器文件系统的改动 | docker diff mynginx |
docker cp | 在容器和宿主机之间复制文件 | docker cp ./a.txt mynginx:/tmp/ |
四、网络命令
| 命令 | 说明 | 常用示例 |
|---|
docker network ls | 列出所有网络 | docker network ls |
docker network create | 创建自定义网络 | docker network create --driver bridge mynet |
docker network inspect | 查看网络详情 | docker network inspect mynet |
docker network connect | 将容器连接到网络 | docker network connect mynet mynginx |
docker network disconnect | 断开容器与网络的连接 | docker network disconnect mynet mynginx |
docker network rm | 删除网络 | docker network rm mynet |
五、卷(Volume)命令
| 命令 | 说明 | 常用示例 |
|---|
docker volume ls | 列出所有卷 | docker volume ls |
docker volume create | 创建卷 | docker volume create myvol |
docker volume inspect | 查看卷详情 | docker volume inspect myvol |
docker volume rm | 删除卷 | docker volume rm myvol |
docker volume prune | 删除所有未使用的卷 | docker volume prune -f |
六、系统与维护命令
| 命令 | 说明 | 常用示例 |
|---|
docker version | 显示 Docker 版本信息 | docker version |
docker info | 显示系统级信息(容器/镜像数、驱动等) | docker info |
docker system df | 查看磁盘使用情况 | docker system df |
docker system prune | 清理未使用的容器、网络、镜像、构建缓存 | docker system prune -a -f |
docker system events | 实时打印 Docker 事件流 | docker system events |
七、常用组合选项说明
| 选项 | 适用命令 | 说明 |
|---|
-d / --detach | run | 后台运行容器 |
-it | run, exec | 交互式终端(如 -it bash ) |
--name | run, create | 指定容器名称 |
-p / --publish | run | 端口映射(宿主机:容器)如 -p 8080:80 |
-v / --volume | run | 挂载卷或宿主机目录 |
--network | run, create | 指定容器使用的网络 |
--rm | run | 容器退出后自动删除 |
-e / --env | run | 设置环境变量 |
-w / --workdir | run, exec | 指定工作目录 |
--restart | run | 重启策略(如 always, unless-stopped ) |
八、简单高效的记忆速查
- 镜像 :
pull, push, build, images, rmi
- 容器 :
run, ps, stop, start, rm, exec, logs
- 网络 :
network ls/create/inspect/connect/rm
- 卷 :
volume ls/create/inspect/rm/prune
- 清理 :
system prune, volume prune, image prune, container prune
💡 提示:每个命令都有丰富的子选项,建议还不清楚可以使用 docker <命令> --help 查看具体帮助。