Docker常用命令详解与高效记忆指南
掌握这些核心命令,让你在容器化世界中游刃有余!
一、常用Docker命令解析
1. 查看本地镜像
docker images
- docker: Docker客户端主命令
- images: 镜像资源(可理解为容器的"安装包")
- 记忆技巧:想象在仓库中查看所有产品样品(
images
就是产品样本)
2. 搜索镜像
docker search centos
- search: 在Docker Hub中查找镜像
- centos: 目标镜像名称(可替换为其他名称)
- 使用场景:需要特定环境时(如Ubuntu、Nginx等)
3. 下载镜像
docker pull centos:7
- pull: 从仓库拉取(下载)
- centos:7: 镜像名+标签(指定版本)
- 注意:不加标签默认下载最新版(latest)
4. 重命名镜像
docker tag centos:7 mycentos:1
- tag: 给镜像打标签(创建别名)
- centos:7: 原镜像名称
- mycentos:1: 新名称+自定义版本号
- 本质:创建原镜像的引用副本,非真实重命名
5. 删除本地镜像
docker rmi centos:7
- rmi: remove image的缩写(删除镜像)
- 注意:有容器依赖的镜像需先删容器
6. 查看所有容器
docker ps -a
- ps: process status(进程状态)
- -a: all(显示所有容器,包括已停止的)
- 对比:
docker ps
仅显示运行中的容器
7. 停止容器
docker stop 容器ID
- stop: 优雅停止(发送SIGTERM信号)
- 容器ID: 目标容器标识符(支持前4位简写)
- 强制停止:
docker kill 容器ID
8. 启动容器
docker start 容器ID/容器名称
- start: 启动已存在的容器
- 容器名称:创建时用
--name
指定的别名 - 重启:
docker restart 容器ID
(停止+启动)
9. 强制删除容器
docker rm -f 容器ID
- rm: remove(删除)
- -f: force(强制删除运行中的容器)
- 清理:
docker container prune
删除所有停止的容器
10. 进入容器终端
docker exec -it 容器ID /bin/bash
- exec: 在容器内执行命令
- -it: 交互式终端(i=interactive, t=tty)
- /bin/bash: 启动Bash shell(可替换为/bin/sh)
- 注意:
docker attach
直接连接主进程
11. 查看容器日志
docker logs 容器ID
- logs: 显示容器标准输出(stdout/stderr)
- 常用参数:
-f
实时跟踪日志(类似tail -f)
12. 创建容器
docker run -itd --name=mycontainer 镜像ID
- run: 创建并启动新容器
- -itd: 交互式(i)+终端(t)+后台运行(d)
- –name: 指定容器名称(否则生成随机名)
- 镜像ID: 用于创建容器的镜像
二、高效记忆法
1️⃣ 命令分类记忆
2️⃣ 核心动词关联
动词 | 作用对象 | 示例命令 |
---|---|---|
pull | 镜像 | docker pull nginx |
run | 容器 | docker run … |
exec | 运行中容器 | docker exec … |
rm | 容器/镜像 | docker rm / docker rmi |
3️⃣ 参数组合速记
-it
:交互式操作(必记黄金搭档)-d
:后台运行(detached mode)-f
:强制操作(force)-a
:显示所有(all)
三、实战自测(检验掌握程度)
-
如何查看已下载的所有Docker镜像?
-
想使用Redis 6.0镜像,但本地没有,应该执行什么命令?
-
启动名为
web-app
的容器后,如何进入它的Bash终端? -
如何优雅停止运行中的容器(容器ID:a1b2)?
-
强制删除名为
old-service
的容器,命令怎么写? -
创建后台运行的MySQL容器并命名为
db
,完整命令是什么? -
如何查看容器ID为
c3d4
的实时日志? -
给
ubuntu:20.04
镜像打标签为my-ubuntu:v2
,命令如何写?
四、答案与解析
-
docker images
(查看镜像列表) -
docker pull redis:6.0
(从Docker Hub下载指定版本镜像) -
docker exec -it web-app /bin/bash
(通过容器名进入交互式终端) -
docker stop a1b2
(发送停止信号,允许进程清理资源) -
docker rm -f old-service
(强制删除容器,无论是否运行中) -
docker run -itd --name=db mysql
(-d后台运行,–name指定名称) -
docker logs -f c3d4
(-f参数实时追踪日志流) -
docker tag ubuntu:20.04 my-ubuntu:v2
(创建镜像别名,不改变原始镜像)
建议将本文保存为Markdown文件,在实际操作中配合命令练习,30分钟即可熟练掌握核心Docker命令!
「小贴士」:点击头像→【关注】按钮,获取更多软件测试的晋升认知不迷路! 🚀