开发环境删除过期的本地镜像
现在开发环境,每次打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镜像还没有拉取。