Docker 命令速查
Docker 容器、镜像、Compose、重启策略、清理维护的完整命令速查。
#tech / ops / docker
#type / howto
#status / evergreen
[!info] related notes
Docker 命令速查
镜像查找
命令
基础
| 命令 | 说明 |
|---|---|
docker pull [image] | 从 Docker 仓库中拉取镜像 |
docker images | 列出本地的所有镜像 |
docker run [options] [image] | 运行一个容器 |
docker stop [container] | 停止一个运行中的容器 |
docker start [container] | 启动一个容器 |
docker restart [container] | 重启一个容器 |
docker ps [-a] | 列出当前运行(所有)的容器 |
docker rm [container] | 删除一个停止的容器 |
docker rmi [image] | 删除一个镜像 |
docker exec -it [container] /bin/bash | 进入一个运行中的容器 |
docker-compose up -d | 启动 Docker Compose 服务 |
docker-compose down | 停止 Docker Compose 服务 |
docker stop $(docker ps -aq) | 停止所有的容器 |
docker rm $(docker ps -aq) | 删除所有的容器 |
docker container prune -f | 删除所有停止的容器 |
docker image prune -f -a | 删除所有不使用的镜像 |
docker rmi $(docker images -q) | 删除所有的镜像 |
重启策略
| 命令 | 作用 |
|---|---|
no | 默认策略,在容器退出时不重启容器 |
on-failure | 在容器非正常退出时(退出状态非0),才会重启容器 |
on-failure:3 | 在容器非正常退出时重启容器,最多重启3次 |
always | 在容器退出时总是重启容器 |
unless-stopped | 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器 |
运行一个容器时添加策略
docker run -d --restart 策略 容器
已经运行的容器添加策略
docker container update --restart 策略 容器
查看容器的重启策略
docker inspect -f "{{ .HostConfig.RestartPolicy.Name }}" 容器
查看容器启动次数命令
docker inspect -f "{{ .RestartCount }}" 容器
查看容器最后一次启动时间
docker inspect -f "{{ .State.StartedAt }}" 容器
日志与调试
| 命令 | 说明 |
|---|---|
docker logs [container] | 查看容器日志 |
docker logs -f [container] | 实时追踪日志(类似 tail -f) |
docker logs --tail 100 [container] | 查看最后 100 行日志 |
docker logs --since 1h [container] | 查看最近 1 小时日志 |
docker inspect [container] | 查看容器详细信息(JSON) |
docker stats | 实时查看所有容器资源占用 |
docker top [container] | 查看容器内进程 |
docker diff [container] | 查看容器文件系统变更 |
docker port [container] | 查看容器端口映射 |
镜像管理
| 命令 | 说明 |
|---|---|
docker build -t <name>:<tag> . | 从 Dockerfile 构建镜像 |
docker build -t <name>:<tag> -f <file> . | 指定 Dockerfile 构建 |
docker tag <image> <new_name>:<tag> | 给镜像打标签 |
docker push <image> | 推送镜像到仓库 |
docker pull <image> | 拉取镜像 |
docker history <image> | 查看镜像构建历史 |
docker save -o <file> <image> | 导出镜像为 tar 文件 |
docker load -i <file> | 从 tar 文件导入镜像 |
docker system df | 查看 Docker 磁盘占用 |
docker system prune -a | 清理所有未使用的资源(慎用) |
快捷键
| 快捷键 | 功能 | 说明 |
|---|---|---|
Ctrl+p, Ctrl+q | 从容器中 detach | 不停止容器,退出交互式 shell |
Ctrl+c | 停止容器日志 | 在 docker logs -f 时使用 |
Ctrl+d | 退出容器 shell | 在 docker exec -it 中退出 |
配置选项 (docker run)
| 选项 | 默认值 | 说明 |
|---|---|---|
-d | 前台运行 | 后台运行容器(detach) |
-it | 无 | 交互式 + 分配 TTY |
--name | 自动生成 | 指定容器名称 |
-p <host>:<container> | 无 | 端口映射 |
-v <host>:<container> | 无 | 卷挂载 |
-e <KEY>=<VALUE> | 无 | 设置环境变量 |
--env-file <file> | 无 | 从文件加载环境变量 |
--network <name> | bridge | 指定网络 |
--restart <policy> | no | 重启策略(no/always/unless-stopped/on-failure) |
--memory <limit> | 无限制 | 内存限制(如 512m) |
--cpus <N> | 无限制 | CPU 限制(如 1.5) |
--rm | 不删除 | 容器停止后自动删除 |
--read-only | 可写 | 只读文件系统 |
--workdir <path> | Dockerfile 中定义 | 设置工作目录 |
--user <uid>:<gid> | root | 指定运行用户 |