当前位置: 首页 > news >正文

Docker 常用命令(涵盖多个方面)

Docker 命令完整列表(表格形式)

类别

命令

描述

示例

Docker 服务管理

sudo systemctl start docker

启动 Docker 守护进程

sudo systemctl start docker

sudo systemctl stop docker

停止 Docker 守护进程,需先停止所有容器

sudo systemctl stop docker

sudo systemctl restart docker

重启 Docker 守护进程以应用配置更改

sudo systemctl restart docker

sudo systemctl status docker

检查 Docker 服务状态,active (running) 表示正常

sudo systemctl status docker

sudo systemctl enable docker

启用 Docker 开机自启

sudo systemctl enable docker

sudo systemctl disable docker

禁用 Docker 开机自启

sudo systemctl disable docker

容器管理

sudo docker ps

列出运行中的容器

sudo docker ps

sudo docker ps -a

列出所有容器(包括已停止)

sudo docker ps -a

sudo docker ps --format "{{.ID}} {{.Names}} {{.Image}} {{.Status}} {{.Ports}}" | awk '{printf "%-15s %-10s %-35s %-25s %-30s\n", $1, $2, $3, $4, $5}'

美化容器信息输出,显示 ID、名称、镜像、状态和端口

sudo docker ps --format ...

sudo docker stop $(sudo docker ps -q)

停止所有运行中的容器

sudo docker stop $(sudo docker ps -q)

sudo docker start $(sudo docker ps -aq)

启动所有容器(包括已停止)

sudo docker start $(sudo docker ps -aq)

sudo docker restart $(sudo docker ps -q)

重启所有运行中的容器

sudo docker restart $(sudo docker ps -q)

sudo docker rm $(sudo docker ps -a -q -f "status=exited")

删除所有已停止的容器

sudo docker rm $(sudo docker ps -a -q -f "status=exited")

sudo docker rm -f <容器名或ID>

强制删除容器(包括运行中的)

sudo docker rm -f kibana

sudo docker run -d --name <容器名> <镜像名>

后台运行新容器

sudo docker run -d --name test_nginx nginx

sudo docker run -it <镜像名> /bin/bash

运行容器并进入交互式终端

sudo docker run -it ubuntu /bin/bash

sudo docker exec -it <容器名> /bin/bash

进入运行中容器的交互式终端

sudo docker exec -it kibana /bin/bash

sudo docker logs <容器名>

查看容器日志

sudo docker logs kibana

sudo docker logs -f <容器名>

实时查看容器日志,类似 tail -f

sudo docker logs -f kibana

sudo docker top <容器名>

查看容器内运行进程

sudo docker top kibana

sudo docker stats --no-stream

显示所有容器资源使用情况(CPU、内存、网络)

sudo docker stats --no-stream

sudo docker inspect <容器名或ID>

查看容器详细信息

sudo docker inspect kibana

sudo docker inspect <容器名或ID> | grep -i IPAddress

查看指定容器 IP 地址

sudo docker inspect kibana | grep -i IPAddress

sudo docker inspect <容器名或ID> --format '{{range $net, $conf := .NetworkSettings.Networks}}{{$net}}: {{$conf.IPAddress}}{{end}}'

查看容器所有网络的 IP 地址

sudo docker inspect kibana --format ...

sudo docker inspect <容器名或ID> | jq -r '.[0].NetworkSettings.Networks[].IPAddress'

使用 jq 解析容器 IP(需安装 jq)

sudo docker inspect kibana | jq ...

sudo docker ps -q | xargs -n 1 sudo docker inspect --format '{{.Name}} {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

查看所有运行中容器的 IP 地址

sudo docker ps -q | xargs ...

sudo docker ps -a -q | xargs -n 1 sudo docker inspect --format '{{.Name}} {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} {{.NetworkSettings.Ports}}'

查看所有容器(包括已停止)的 IP 和端口

sudo docker ps -a -q | xargs ...

for name in $(sudo docker ps --format '{{.Names}}'); do cid=$(sudo docker ps -q -f name=$name); echo "IP for $name ($cid):"; sudo docker inspect $cid | grep -i IPAddress; done

循环查看所有运行中容器的 IP 地址

for name in $(sudo docker ps ...)

sudo docker pause <容器名>

暂停容器运行

sudo docker pause kibana

sudo docker unpause <容器名>

恢复暂停的容器

sudo docker unpause kibana

sudo docker kill <容器名或ID>

立即终止容器

sudo docker kill kibana

sudo docker rename <旧容器名> <新容器名>

重命名容器

sudo docker rename kibana kibana_new

sudo docker diff <容器名>

查看容器文件系统变化

sudo docker diff kibana

sudo docker cp <容器名>:<容器内路径> <宿主机路径>

从容器复制文件到宿主机

sudo docker cp kibana:/log log_dir

sudo docker cp <宿主机路径> <容器名>:<容器内路径>

从宿主机复制文件到容器

sudo docker cp log_dir kibana:/log

sudo docker events

实时查看 Docker 事件(容器创建、停止等)

sudo docker events

镜像管理

sudo docker images

列出所有镜像

sudo docker images

sudo docker pull <镜像名:标签>

拉取镜像

sudo docker pull ghcr.io/telekom-security/kibana:24.04.1

sudo docker rmi <镜像ID或名称>

删除指定镜像

sudo docker rmi kibana:24.04.1

sudo docker image prune -a

清理所有未使用镜像

sudo docker image prune -a

sudo docker build -t <镜像名> <路径>

从 Dockerfile 构建镜像

sudo docker build -t my-custom-ee:latest .

sudo docker commit <容器名> <新镜像名>

从容器创建新镜像

sudo docker commit kibana kibana_custom:1.0

sudo docker tag <源镜像名> <目标镜像名>

为镜像创建新标签

sudo docker tag kibana:24.04.1 kibana:latest

sudo docker push <镜像名>

推送镜像到注册表

sudo docker push my-custom-ee:latest

sudo docker save <镜像名> -o <文件名.tar>

导出镜像为 tar 文件

sudo docker save my-custom-ee:latest -o my-custom-ee.tar

sudo docker load -i <文件名.tar>

从 tar 文件导入镜像

sudo docker load -i my-custom-ee.tar

sudo docker export <容器名> > <文件名.tar>

导出容器为 tar 文件

sudo docker export kibana > kibana_backup.tar

sudo docker import <文件名.tar> <新镜像名>

从 tar 文件导入镜像

sudo docker import kibana_backup.tar kibana_imported:1.0

sudo docker history <镜像名>

查看镜像历史(分层信息)

sudo docker history kibana:24.04.1

sudo docker image ls

列出镜像(同 docker images)

sudo docker image ls

sudo docker image rm <镜像名>

删除镜像(同 docker rmi)

sudo docker image rm kibana:24.04.1

sudo docker image inspect <镜像名>

查看镜像详细信息

sudo docker image inspect kibana:24.04.1

网络管理

sudo docker network ls

列出所有 Docker 网络

sudo docker network ls

sudo docker network create --subnet <子网> <网络名>

创建新网络

sudo docker network create --subnet 192.168.10.0/28 honeypot-net2

sudo docker network rm <网络名>

删除指定网络

sudo docker network rm honeypot-net2

sudo docker network prune -f

清理所有未使用网络

sudo docker network prune -f

sudo docker network inspect <网络名>

检查网络详情(IP 分配等)

sudo docker network inspect honeypot-net2

sudo docker network connect <网络名> <容器ID>

连接容器到网络

sudo docker network connect honeypot-net2 137f34922932

sudo docker network disconnect <网络名> <容器ID>

断开容器与网络连接

sudo docker network disconnect honeypot-net2 5d541a5678d0

sudo docker network inspect <网络名> | grep -A 5 IPAM

查看网络的 IP 地址池配置

sudo docker network inspect honeypot-net2 | grep -A 5 IPAM

sudo docker network inspect <网络名> | jq -r '.[] | .Containers | to_entries[] | "\(.value.Name): \(.value.IPv4Address)"'

查看网络中所有容器的 IP(需 jq)

sudo docker network inspect honeypot-net2 | jq ...

sudo docker network ls --format '{{.Name}}' | xargs -n 1 sudo docker network inspect --format '{{.Name}} {{range .IPAM.Config}}{{.Subnet}}{{end}}'

查看所有网络的 IP 地址池配置

sudo docker network ls --format ...

卷管理

sudo docker volume ls

列出所有卷

sudo docker volume ls

sudo docker volume create <卷名>

创建新卷

sudo docker volume create tpot_data

sudo docker volume rm <卷名>

删除指定卷(需未被使用)

sudo docker volume rm tpot_data

sudo docker volume prune

清理所有未使用卷

sudo docker volume prune

sudo docker volume inspect <卷名>

检查卷详细信息

sudo docker volume inspect tpot_data

sudo docker run -v <卷名>:<容器内路径> <镜像名>

运行容器并挂载卷

sudo docker run -v tpot_data:/data nginx

sudo docker volume ls -q | xargs -n 1 sudo docker volume inspect --format '{{.Name}} {{.Mountpoint}}'

查看所有卷的挂载点

sudo docker volume ls -q | xargs ...

sudo docker run --mount source=<卷名>,target=<容器内路径> <镜像名>

使用 --mount 挂载卷

sudo docker run --mount source=tpot_data,target=/data nginx

系统管理

sudo docker info

显示 Docker 系统信息(容器数、镜像数等)

sudo docker info

sudo docker system prune -af

清理所有未使用 Docker 对象(容器、网络、镜像)

sudo docker system prune -af

sudo docker system df

显示 Docker 磁盘使用情况

sudo docker system df

sudo docker version

显示 Docker 客户端和服务器版本

sudo docker version

sudo docker info --format '{{.ServerVersion}}'

查看 Docker 服务器版本

sudo docker info --format '{{.ServerVersion}}'

sudo docker system events

实时查看 Docker 系统事件(同 docker events)

sudo docker system events

sudo docker system info

查看系统信息(同 docker info)

sudo docker system info

其他命令

sudo docker login

登录 Docker 注册表

sudo docker login

sudo docker logout

登出 Docker 注册表

sudo docker logout

sudo docker search <关键字>

搜索 Docker Hub 上的镜像

sudo docker search nginx

sudo docker plugin ls

列出所有 Docker 插件

sudo docker plugin ls

sudo docker plugin install <插件名>

安装 Docker 插件

sudo docker plugin install store/nginx/nginx:1.0

sudo docker plugin rm <插件名>

删除 Docker 插件

sudo docker plugin rm store/nginx/nginx:1.0

sudo docker checkpoint create <容器名> <检查点名>

创建容器检查点(实验性功能)

sudo docker checkpoint create kibana checkpoint1

sudo docker checkpoint ls <容器名>

列出容器检查点

sudo docker checkpoint ls kibana

sudo docker checkpoint rm <容器名> <检查点名>

删除容器检查点

sudo docker checkpoint rm kibana checkpoint1

sudo docker trust sign <镜像名>

签署镜像以增强安全性

sudo docker trust sign my-custom-ee:latest

sudo docker trust inspect <镜像名>

检查镜像的签名信息

sudo docker trust inspect my-custom-ee:latest

sudo docker context ls

列出 Docker 上下文(多主机管理)

sudo docker context ls

sudo docker context create <上下文名> --docker host=<主机地址>

创建新 Docker 上下文

sudo docker context create remote --docker host=tcp://192.168.1.100:2375

sudo docker context use <上下文名>

切换 Docker 上下文

sudo docker context use remote

sudo docker manifest create <镜像名> <镜像列表>

创建多架构镜像清单

sudo docker manifest create my-image:latest my-image:amd64 my-image:arm64

sudo docker manifest push <镜像名>

推送多架构镜像清单

sudo docker manifest push my-image:latest

sudo docker manifest inspect <镜像名>

检查多架构镜像清单

sudo docker manifest inspect my-image:latest

http://www.xdnf.cn/news/189289.html

相关文章:

  • 数据结构第七章(一)-顺序查找和折半查找
  • CMCC RAX3000M使用Tftpd刷写OpenWrt固件的救砖方法
  • Python实现SSE流式推送
  • AutoGen 框架深度解析:构建多智能体协作的事件驱动架构
  • SQL 易混易错知识点笔记1(drop,role,%,localhost)
  • Flinkcdc 实现 MySQL 写入 Doris
  • 导入使用 Blender 创建的 glTF/glb 格式的 3D 模型
  • 从千兆到40G:飞速(FS)助力制造企业构建高可靠智能生产网络
  • Ocelot的应用案例
  • 整合性安全总结(ISS)早期规划
  • 【零基础入门】ASP.NET Core快速搭建第一个Web应用
  • 科技助力防灾减灾:卫星电话走进应急救援队伍
  • [RoarCTF 2019]Easy Calc 详解
  • node.js 实战——mongoDB
  • Milvus(9):字符串字段、数字字段
  • 递归、搜索和回溯算法《递归》
  • LVDS系列10:Xilinx 7系可编程输入延迟(三)
  • 如何删除此电脑上的迅雷下载、WPS云盘、百度网盘
  • 多实例情况下,实例名较长dbca失败
  • P9904 [COCI 2023/2024 #1] Labirint 题解
  • codeforcesB. Alice‘s Adventures in Permuting
  • 「地平线」创始人余凯:自动驾驶尚未成熟,人形机器人更无从谈起
  • C++编程指南39 - 不要特化函数模板
  • Callable Future 实现多线程按照顺序上传文件
  • yolov5 源码 +jupyter notebook 笔记 kaggle
  • quickbi finebi 测评(案例讲解)
  • MySQL 主从复制
  • 图像保边滤波之BEEPS滤波算法
  • KUKA机器人自动备份设置
  • vscode 使用gitcode团队管理项目