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

常用docker命令速查表

一、镜像管理

# 列出本地所有镜像
docker images# 构建镜像:从当前目录的 Dockerfile 构建,并打上标签
docker build -t <image_name>:<tag> .# 导出镜像到文件(用于迁移或备份)
docker save -o <output_file>.tar <image_name>:<tag># 从文件导入镜像
docker load -i <input_file>.tar# 从仓库拉取镜像
docker pull <image_name>:<tag># 将镜像推送到仓库:需要先 docker login
docker push <username>/<image_name>:<tag># 删除一个或多个本地镜像
docker rmi <image_id_or_name># 清理无用的镜像
# 清理所有未被使用的镜像
docker image prune# 强制清理所有未被使用的镜像(包括被标记的)
docker image prune -a# 查看镜像的详细信息
docker inspect <image_id_or_name># 查看镜像的构建历史(图层)
docker history <image_id_or_name># 给镜像添加新标签
docker tag <source_image>:<tag> <new_image>:<new_tag># 查看镜像的磁盘占用详情(新增)
docker system df --format "{{.Type}}: {{.Size}}" | grep 'Image'

二、容器生命周期

# 运行一个容器
# 基本运行
docker run <image_name># 后台运行、端口映射、并命名
docker run -d -p <host_port>:<container_port> --name <container_name> <image_name># 运行容器时添加环境变量
docker run -e "ENV_VAR=value" <image_name># 运行容器时挂载数据卷
docker run -v /host/path:/container/path <image_name># 运行容器时设置内存限制
docker run -m 512m <image_name># 列出正在运行的容器
docker ps# 列出所有容器(包括已停止的)
docker ps -a# 查看最新创建的容器
docker ps -n <数量># 只显示容器ID
docker ps -q# 停止一个容器
docker stop <container_id_or_name># 启动一个已停止的容器
docker start <container_id_or_name># 重启一个容器
docker restart <container_id_or_name># 删除一个已停止的容器
docker rm <container_id_or_name># 强制删除一个正在运行的容器
docker rm -f <container_id_or_name># 清理无用的容器:清理所有已停止的容器
docker container prune# 暂停/恢复容器(不停止进程)
docker pause <container_id_or_name>
docker unpause <container_id_or_name># 重命名容器(新增)
docker rename <old_name> <new_name>

三、容器交互与监控

# 查看容器的日志
docker logs <container_id_or_name># 实时跟踪日志
docker logs -f <container_id_or_name># 查看容器日志并显示时间戳
docker logs -t <container_id_or_name># 限制日志输出行数
docker logs --tail=100 <container_id_or_name># 同时监控多个容器的资源使用
docker stats <container1> <container2># 查看容器端口映射情况
docker port <container_id_or_name># 导出容器文件系统(不包含卷)
docker export -o <file>.tar <container_id_or_name># 在运行的容器中执行命令
# 进入交互式 shell
docker exec -it <container_id_or_name> /bin/sh# 执行单个命令
docker exec <container_id_or_name> ls /# 查看容器的资源使用情况
# 查看所有运行中容器的实时资源使用(按 Ctrl+C 退出持续模式)
docker stats# 查看指定容器的资源使用
docker stats <container_id_or_name># 只显示一次结果(不持续更新)
docker stats --no-stream# 查看容器的详细信息
docker inspect <container_id_or_name># 在容器和主机之间复制文件
# 从容器复制文件到主机
docker cp <container_id_or_name>:<container_path> <host_path># 从主机复制文件到容器
docker cp <host_path> <container_id_or_name>:<container_path># 查看容器中运行的进程
docker top <container_id_or_name>

四、数据卷和网络

# 列出所有数据卷
docker volume ls# 创建一个数据卷
docker volume create <volume_name># 删除一个数据卷
docker volume rm <volume_name># 清理无用的数据卷
docker volume prune# 列出所有网络
docker network ls# 创建一个网络
docker network create <network_name># 删除一个网络
docker network rm <network_name># 将容器连接到网络
docker network connect <network_name> <container_id_or_name># 指定容器在网络中的别名
docker network connect --alias <alias_name> <network_name> <container_id_or_name># 将容器从网络中断开
docker network disconnect <network_name> <container_id_or_name># 强制断开连接
docker network disconnect -f <network_name> <container_id_or_name># 查看数据卷详情
docker volume inspect <volume_name># 创建带驱动选项的数据卷
docker volume create --driver local --opt type=tmpfs <volume_name># 查看网络详情
docker network inspect <network_name># 创建带自定义子网的网络
docker network create --subnet=172.20.0.0/16 <network_name># 检查容器网络连接(需容器内安装ping)
docker exec <container> ping <target_ip>

五、Docker Compose

# 构建并启动所有服务
# 在前台运行
docker compose up# 在后台运行
docker compose up -d# 如果 Dockerfile 有变动,强制重新构建
docker compose up --build# 停止并删除所有服务
docker compose down# 同时删除数据卷
docker compose down --volumes# 列出所有服务状态
docker compose ps# 查看服务日志
# 查看所有服务日志
docker compose logs# 跟踪特定服务的日志
docker compose logs -f <service_name># 在特定服务中执行命令
docker compose exec <service_name> <command># 构建或重新构建服务
docker compose build# 启动特定服务(不启动依赖项)
docker compose up <service_name># 查看服务依赖树
docker compose config --services# 强制重建单个服务
docker compose up --force-recreate <service_name># 执行一次性命令(不持续运行)
docker compose run <service_name> <command># 查看服务环境变量
docker compose config | grep -A3 'environment'

六、系统维护

系统级清理

# 清理所有未被使用的资源(镜像、容器、网络、数据卷)
docker system prune# 强制清理所有未被使用的资源(包括被标记的镜像)
docker system prune -a# 查看Docker系统使用情况
docker system df# 查看详细的磁盘使用信息
docker system df -v

持续监控说明

以下命令支持持续监控模式,可以实时刷新显示:

  • docker stats   - 默认持续监控容器资源使用情况(按 Ctrl+C 退出)

  • docker logs -f   - 持续跟踪容器日志输出

  • docker compose logs -f   - 持续跟踪服务日志输出

注意docker stats 默认就是持续输出的,使用 --no-stream 可以只显示一次结果。

提示:按 Ctrl+C 可以退出持续监控模式。

七、安全相关

# 扫描镜像漏洞(需安装docker scan)
docker scan <image_name># 查看容器用户
docker exec <container> whoami# 以非root用户运行容器
docker run -u 1000 <image_name># 检查容器权限
docker inspect --format '{{.HostConfig.Privileged}}' <container>

八、使用技巧补充

批量操作

# 停止所有运行中的容器
docker stop $(docker ps -q)# 删除所有退出的容器
docker rm $(docker ps -aq --filter status=exited)

格式输出

# 格式化输出容器信息
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

日志筛选

# 筛选特定时间段的日志
docker logs --since 2023-01-01 --until 2023-01-02 <container>

http://www.dtcms.com/a/516178.html

相关文章:

  • 响应式酒店网站模板做公司网站要多久
  • 1号店网站网页特效企业网站建设方案价位
  • spring是如何解决循环依赖的(二级缓存不行吗)?
  • 【Python高级编程】基于正则表达式的爬虫
  • 网站链接改名怎做301口碑好的网站建设商家
  • 软文代写费用昆明关键词优化
  • JAVA算法练习题day47
  • 服装外包加工网网站排名优化公司
  • linux系统中进程通信之信号
  • 求数字1-10的阶乘
  • 如何使用最简单的get请求融合众多AI API,包括ChatGPT、Grok等
  • 链表的概念和单向链表的实现
  • 2013年下半年试题二:论企业应用系统的分层架构风格
  • U 盘写写保护解决方法
  • 简约手机网站源码兴宁电子商务网站建设
  • 教程网站搭建wordpress二次元风格
  • 02-Vue 插值
  • 【NebulaGraph】Nebula Importer使用
  • 不同形态组织镊在口腔临床的适配性选择
  • 深入理解进程、线程与协程
  • 用IIS自带FTP功能搭一个FTP!
  • 一种简单的Yolov8 onnx模型类别标签获取的方法
  • 用哪个网站做首页好做网站哪里最便宜
  • ROS1+Vscode
  • Ubuntu22.04 中搭建基于 Qemu 的内核(驱动)开发环境
  • JMETER+ANT接口自动化测试环境搭建实战讲解
  • 告别“大力金刚指”:晶尊微触摸芯片让电梯按键一触即灵
  • HTML教程
  • 基于Qt Quick的图像标注与标注数据管理工具
  • vscode搭建python项目隔离的虚拟环境