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

批量处理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}'`
do
	docker rm $item
done

二、删除未定义的镜像

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

for item in `docker images | grep none | awk '{print $3}'`
do
	docker 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.kler.cn/news/311894.html

相关文章:

  • 一、Numpy使用
  • C语言从头学61——学习头文件signal.h
  • 什么是“云原生”
  • Mysql梳理6——order by排序
  • 在 VS Code 中调试 C++ 项目
  • 【数据结构】动态开点线段树
  • 基于Android Studio 蜜雪冰城(奶茶饮品点餐)—原创
  • Java ERP系统源码深度解析:Spring Cloud Alibaba和Spring Boot的微服务实战
  • 云WAF能做什么?看它如何帮你应对网络攻击
  • 武汉网站建设实施方案
  • 猫咪为什么不吃猫罐头?解决挑食小猫!美味主食罐推荐!
  • 2.4 数据库表字段约束
  • 水经微图PC版5.0.0即将内测
  • MATLAB数学规划:2.线性规划
  • 分享一个 在线拍卖系统 商品竞拍平台Java、python、php三个技术版本(源码、调试、LW、开题、PPT)
  • MATLAB系列03:分支语句和编程设计
  • 指挥中心操作台怎么布局更合理
  • Can‘t connect to local MySQL server through socket
  • 【线性规划求解系列】MATLAB中使用linprog解决线性规划问题
  • 【学术会议:中国杭州,机器学习和计算机应用面临的新的挑战问题和研究方向】第五届机器学习与计算机应用国际学术会议(ICMLCA 2024)
  • 大数据-141 - ClickHouse 集群 副本和分片 Zk 的配置 Replicated MergeTree原理详解
  • Linux 环境永久更换国内pip镜像源地址
  • 【MySQL】表的相关操作
  • 你敢相信吗,我用AI撸了一个在线计算器网站!
  • ElasticSearch7整合es-head,ES配置密码
  • 微软 Azure AI 服务免费试用及申请:语音识别、文本转语音、基于视觉、语言处理、文档分析等10大场景
  • ReentrantLock实现原理
  • opencv anaconda yolov5安装流程
  • 【C++】C++ STL探索:Priority Queue与仿函数的深入解析
  • Leetocde146. LRU 缓存