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

批量处理docker容器以及镜像的脚本

批量处理docker容器以及镜像的脚本

  • 一、删除已经不运行的docker容器
  • 二、删除未定义的镜像
  • 三、其他docker命令记录
      • 1. 镜像管理
      • 2. 容器管理
      • 3. 网络管理
      • 4. 数据卷管理
      • 5. 清理命令
      • 6. 常用高级功能

本文介绍一些docker中批量处理docker容器以及镜像的脚本

一、删除已经不运行的docker容器

docker ps -a 可以查看所有的docker容器,为了清理已经不运行的容器,可以通过grep Exited过滤。获取所有容器的id然后逐个删除容器。

for item in `docker ps -a | grep Exited | awk '{print $1}'`
dodocker rm $item
done

二、删除未定义的镜像

删除镜像前可能某容器还在使用导致不能删除,因此先执行第一步,然后执行以下脚本就可以删除镜像了。

for item in `docker images | grep none | awk '{print $3}'`
dodocker rmi $item
done

三、其他docker命令记录

以下是一些常用的 Docker 命令,涵盖了镜像管理、容器管理、网络、数据卷以及一些实用的高级功能。

1. 镜像管理

  • 列出所有本地镜像
    docker images
    
  • 搜索镜像
    docker search <image_name>
    
  • 拉取镜像
    docker pull <image_name>:<tag>
    
  • 删除镜像
    docker rmi <image_id>
    
  • 构建镜像
    docker build -t <image_name>:<tag> <path_to_dockerfile>
    
  • 查看镜像历史
    docker history <image_name>
    

2. 容器管理

  • 列出所有容器(包括停止的容器)
    docker ps -a
    
  • 运行一个新的容器
    docker run -d --name <container_name> <image_name>
    
    • -d: 后台运行容器。
    • --name: 为容器指定一个名称。
  • 运行一个交互式容器
    docker run -it <image_name> /bin/bash
    
  • 停止容器
    docker stop <container_id>
    
  • 启动已停止的容器
    docker start <container_id>
    
  • 重启容器
    docker restart <container_id>
    
  • 删除容器
    docker rm <container_id>
    
  • 查看容器日志
    docker logs <container_id>
    
  • 进入正在运行的容器
    docker exec -it <container_id> /bin/bash
    
  • 导出容器为 tar 文件
    docker export -o <file_name>.tar <container_id>
    
  • 导入容器
    docker import <file_name>.tar
    

3. 网络管理

  • 列出网络
    docker network ls
    
  • 创建网络
    docker network create <network_name>
    
  • 删除网络
    docker network rm <network_name>
    
  • 连接容器到网络
    docker network connect <network_name> <container_name>
    
  • 断开容器与网络的连接
    docker network disconnect <network_name> <container_name>
    

4. 数据卷管理

  • 列出所有数据卷
    docker volume ls
    
  • 创建数据卷
    docker volume create <volume_name>
    
  • 挂载数据卷到容器
    docker run -v <volume_name>:<container_path> <image_name>
    
  • 删除数据卷
    docker volume rm <volume_name>
    

5. 清理命令

  • 清理未使用的镜像、容器、网络和数据卷
    docker system prune
    
  • 清理未使用的数据卷
    docker volume prune
    
  • 清理未使用的镜像
    docker image prune
    

6. 常用高级功能

  • 查看容器的详细信息
    docker inspect <container_id>
    
  • 查看容器的资源使用情况
    docker stats <container_id>
    
  • 查看容器内运行的进程
    docker top <container_id>
    
  • 复制文件到容器
    docker cp <local_path> <container_id>:<container_path>
    
  • 从容器中复制文件
    docker cp <container_id>:<container_path> <local_path>
    

这些命令涵盖了 Docker 的日常操作,如管理镜像和容器、设置网络、使用数据卷、清理系统以及一些高级功能。


http://www.mrgr.cn/news/30736.html

相关文章:

  • 【Linux系统编程】第二十一弹---进程的地址空间
  • TypeError: expected string or buffer - Langchain, OpenAI Embeddings
  • 聊聊Netty客户端断线重连的设计与实现
  • 想一库打通所有云平台?我们尝试这样做。。。
  • 打开C嘎嘎的大门:你好,C嘎嘎!(1)
  • @Override -----好像删掉以后运行也没有问题。一个可有可无的注解?
  • 卷王阿里又开启价格战,大模型价格降价85%!
  • 浏览器的内存回收机制监控内存泄漏
  • Spring Cloud Alibaba-(4)Sentinel【流控和降级】
  • UAC2.0 麦克风——音量控制
  • 关于用matplotlib.pyplot加载图片颜色不对的解决方法
  • 【C++前缀和】2222. 选择建筑的方案数|1656
  • U-Boot的基本使用
  • react hooks--useMemo
  • Flask 第十二课 -- 错误处理
  • 基于SpringBoot的图书进销存管理系统【附源码】
  • AutoGen Function Call 函数调用解析(二)
  • 数据库面试题整理
  • Ubuntu安装MySQL过程中没有出现设置root和密码的步骤导致无法root登入解决办法
  • <<编码>> 第 14 章 反馈与触发器(7)--分频器与计数器 示例电路