docker探索-docker常用的脚本(三)

博客介绍了Docker相关操作,包括批量构建镜像、批量删除无用镜像并保留有用镜像、批量删除Docker容器的日志,还提及一键关闭Docker镜像服务后重启服务,借助shell脚本实现这些操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://www.jianshu.com/p/f82351669d75

一、批量构建镜像

buildDockerImages.sh

#!/usr/bin/env bash
echo "==================== start build docker images =========================="
cd /www/docker/images/
old_IFS=$IFS
IFS=','
cmds=(
   'docker build -t xxx-base-env .',
   'docker build -t redis:3.2 -f redis.dockerfile .',
   'docker build -t mysql:5.6 -f mysql.dockerfile .',
   'docker build -t elasticsearch:5.6.5 -f es.dockerfile .',
   'docker build -t openresty -f openresty.dockerfile .'
)
for cmd in ${cmds[*]};do
     eval "$cmd"
done
IFS=$old_IFS
echo "==================== end build docker images    =========================="

二、批量删除无用的镜像,保留有用的镜像

clearDockerImages.sh

#!/usr/bin/env bash
echo "==================== start clean docker images  =========================="
docker images | awk '
    NR>1{
        if($1 == "xxx-base-env" ||
            $1 == "mysql:5.6" ||
            $1 == "mysql:5.7" ||
            $1 == "redis:3.2" ||
            $1 == "elasticsearch:5.6.5" ||
            $1 == "openresty" ||
            $1 == "monitoringartist/zabbix-xxl:3.2.6")
           {
                print "skiped ..."
           }else{
                system("docker rmi " $3)
           }
    }
';
echo "==================== end clean docker images    =========================="

三、批量删除docker容器的log

#!/usr/bin/env bash
echo "==================== start clean docker containers logs =========================="
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
    do
        echo "clean logs : $log"
        cat /dev/null > $log
    done
echo "==================== end clean docker containers logs   =========================="

 参考:https://blog.youkuaiyun.com/qq_37048894/article/details/81808851

四、一键关闭docker镜像服务后重启服务

dockerrestart.sh

#!/bin/bash
echo "正在停止所有docker里面的容器ing..."
docker stop $(docker ps -a -q)
echo "停止成功,正在删除容器ing..."
docker rm $(docker ps -a -q)
 
dockerlist=`docker images`
echo "$dockerlist"
docker rmi $(docker images -q)
echo "清除所有镜像完毕"
echo "正在进行新的文件打包部署..."
cd docker/Adventure
mvn package docker:build
echo "打包构建成功"
docker run -p 80:80 -t adventure/docker
echo `docker ps`
echo "end ..."

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值