开发环境删除过期的本地镜像

现在开发环境,每次打tag进行部署。每次都会拉取新的tag镜像。久而久之,导致磁盘满了。需要人工清理。所以需要修改下脚本。将之前的tag镜像删除掉。

删除部署服务器上的tag镜像就是再deploy这个步骤进行添加删除即可

现在脚本

      deploy_app(){
        ssh "$DEPLOY_HOST" "cd /usr/local/$CI_PROJECT_NAME-$1 && docker-compose down"
        echo "docker images | grep $CI_PROJECT_NAME-$1 | awk '{print $3}'"
        ssh "$DEPLOY_HOST" "docker images |grep $CI_PROJECT_NAME-$1| awk '{print $3}' |xargs -r docker rmi"
        ssh "$DEPLOY_HOST" "cd /usr/local/$CI_PROJECT_NAME-$1 && docker-compose up -d"
      }

其实可以发现,我是在docker-compose down 容器停掉后,添加的删除命令行。
其中搞了好久的问题是可能由于咱们是yml脚本。它会把$符号认为是引用的变量,然后echo输出下后。发现了这个问题。于是就加了个转义字符。完美解决。

ps: {print $3} 是打印第三列的意思。这里直接删除全部名称相同的。主要是。现在新的tag镜像还没有拉取。

原文地址:https://www.cnblogs.com/zhenghengbin/p/14635701.html