1. docker命令获取帮助的方法
docker -h
查看具体命令的详细介绍
docker run --help
2. 官方网站的命令介绍
docker | Docker Docs
3. 常用命令
3.1 docker run
docker run -it - -name C1 centos:latest bash
Docker 容器的核心是运行一个进程。当执行 docker run
时,
实际上是告诉 Docker 启动一个容器,并在容器中运行指定的命令
-i 交互式
-t 提供终端
--name c1 把运行的容器命名为C1
centos:latest 使用最新版本的centos镜像,如果要选择版本,直接写centos7即可
bash 在容器中执行的命令
使用exit退出后,容器状态会停止
按住Ctrl+Q+P,可以退出当前容器的交互界面,容器仍继续运行
3.2 docker ps
列出正在运行的容器
-a,--all 查看全部的容器,包括已退出的 --size 按容器显示磁盘使用情况 --filter 筛选 docker ps - -filter ‘name=C1’
3.3 docker inspect
docker inspect id/name
查看容器详细信息
3.4 docker exec
用于在正在运行的容器 中执行命令,它允许用户与容器进行交互,或者在容器内部运行特定的任务,而无需重新启动容器。
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
- CONTAINER : 目标容器的名称或 ID。
- COMMAND : 要在容器内执行的命令。
- OPTIONS : 可选参数,用于指定执行方式(如交互模式、分配终端等)。
docker exec -it C2 bash
运行-it表示以交互模式运行,并分配一个伪终端
docker exec C2 ls -l /
不进入交互式终端,在容器中执行ls -l命令
3.5 docker attach
类似于ssh命令,可以进入到容器中
docker attach [OPTIONS] CONTAINER
- CONTAINER : 目标容器的名称或 ID。
- OPTIONS : 可选参数(较少使用)
3.6 docker stop
停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker stop $(docker ps -a -q)
批量停止全部容器
3.7 docker start
启动容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start fab
启动容器ID为fab开头的容器docker start $(docker ps -a -q)
批量启动全部容器
3.8 docker top
列出容器内运行的所有进程及其相关信息
docker top CONTAINER [ps OPTIONS]
3.9 docker rm
对已停止的容器进行删除
docker rm [OPTIONS] CONTAINER [CONTAINER...]
- -f 强制删除正在运行的容器(先停止,再删除)
- -v 删除容器的同时移除与其关联的匿名卷(未命名的挂载卷)
删除多个容器
docker rm <container1> <container2> <container3>
删除所有容器
docker rm $(docker ps -aq)
3.10 查看容器占用主机资源情况
docker stats [OPTIONS] [CONTAINER...]
实时监控正在运行的容器 的资源使用情况。它类似于 Linux 系统中的 top
或 htop
命令,但专门针对 Docker 容器的资源(如 CPU、内存、网络和磁盘 I/O)进行统计。
-
- -no-stream:仅显示一次统计的信息,而不是持续更新
-
- -format:使用自定义格式输出信息
[#9#root@bserptest15 ~]#docker stats --no-stream fab
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
fab79fdd522f cool_panini 0.00% 5.859MiB / 7.637GiB 0.07% 656B / 0B 3.99MB / 0B 9**CPU %** : 容器占用的 CPU 百分比(相对于主机总 CPU 资源)。**MEM USAGE / LIMIT** : 当前使用的内存和内存限制(如果设置了内存限制)。**NET I/O** : 网络接收和发送的数据量。**BLOCK I/O** : 磁盘读取和写入的数据量。**PIDS** : 容器内的进程数量。
通过format自定义输出
docker stats --no-stream --format "Container: {{.Name}}\\tCPU: {{.CPUPerc}}\\tMemory: {{.MemUsage}}"Container: C2 CPU: 0.00% Memory: 588KiB / 7.637GiB
Container: cool_panini CPU: 0.00% Memory: 5.859MiB / 7.637GiB--no-stream 仅显示一次统计
--format 按指定格式显示
4. docker prune
用于清理未使用的资源(如容器、镜像、网络和卷),从而释放磁盘空间
docker <resource> prune [OPTIONS]
常见的资源类型包括:
container
: 清理已停止的容器。image
: 清理未被使用的镜像。volume
: 清理未被挂载的卷。network
: 清理未被使用的网络。system
: 综合清理所有未使用的资源(包括容器、镜像、卷和网络)
1.清理所有已停止的容器docker container prune
2.清理所有未被使用的镜像docker image prune -a
3.清理未被挂载的卷docker volume prune
4.清理未被使用的网络docker network prune
5.综合清理所有未使用的资源docker system prune -a --volumes