Docker镜像批量清理脚本

使用jenkins作为打包的工具,主机上的磁盘空间总是被慢慢被占满,直到jenkins无法运行。本文从几个方面来清理docker垃圾。 批量删除已经退出的容器 docker ps -a | grep "Exited" | awk '{print $1 }' | xargs docker rm 批量删除带有none字段的镜像 $3一般就是取出每一行的镜像id字段 # 方案1: 根据镜像id删除镜像 docker images| grep none |awk '{print $3 }'|xargs docker rmi # 方案2: 根据镜像名删除镜像 docker images | grep wecloud | awk '{print $1":"$2}' | xargs docker rmi 方案1,根据镜像ID删除镜像时,有写镜像虽然镜像名不同,但是镜像ID都是相同的,这是后往往会删除失败。所以根据镜像名删除镜像的效果会更好。 删除镜像定时任务脚本 #!/bin/bash # create by wangduanduan # when current free disk less then max free disk, you can remove docker images # GREEN='\033[0;32m' RED='\033[0;31m' NC='\033[0m' max_free_disk=5 # 5G....

2018-12-04 · 1 min · 王端端

Jenkins 全局变量参考

docker The docker variable offers convenient access to Docker-related functions from a Pipeline script. Methods needing a slave will implicitly run a node {…} block if you have not wrapped them in one. It is a good idea to enclose a block of steps which should all run on the same node in such a block yourself. (If using a Swarm server, or any other specific Docker server, this probably does not matter, but if you are using the default server on localhost it likely will....

2018-08-28 · 8 min · 王端端

jenkins构建镜像时,如何向镜像中注入动态环境变量?

STEP 1: jenkins Additional Build Arguments jenkins Docker Build and Publish插件有个高级选项,Additional Build Arguments 可以在docker构建时,将额外的参数传递给dockerfile。 $BUILD_NUMBER是jenkins自带的一个环境变量,每次构建后都会加1,如:1,2,3,它是一个动态的变量,不同的构建具有不同的构建序号。 --build-arg my_build_number="$BUILD_NUMBER" STEP 2: dockerfile arg dockerfile 增加如下参数。如果只做了第一步,但是没有在dockerfile中申明运行时会多传入哪些参数,构建就会失败。 ARG 参数指定了构建时可以传递哪些参数进来,并且可以设置默认值,但是docker构建时传递的参数会覆盖默认值。 ENV 指令将my_build_number设置为一个环境变量,它的值为ARG参数的值。 如果你构建的程序是nodejs项目,你就可以通过process.env.my_build_number获取jenkins构建镜像时传入的参数。 ARG my_build_number='' ENV my_build_number ${my_build_number}

2018-07-23 · 1 min · 王端端

Nodejs Express dockerfile最佳实践

1. 少啰嗦,先看代码 1.1. package.json { "name": "xxx", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www", "forever": "node_modules/forever/bin/forever bin/www" }, "dependencies": { "async": "0.9.0", "body-parser": "1.13.2", "compression": "1.6.2", "config": "1.12.0", "connect-multiparty": "2.0.0", "cookie-parser": "1.3.5", "debug": "2.2.0", "ejs": "2.3.3", "express": "4.13.1", "forever": "0.15.3", "http-proxy-middleware": "0.17.3", "log4js": "0.6.24", "serve-favicon": "2.3.0" } } 1.2. dockerfile FROM node:9.2.1-alpine RUN apk update && apk add bash tzdata \ && cp -r -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime WORKDIR /app COPY package....

2018-02-08 · 1 min · 王端端

Nodejs alpine 基础docker镜像构建

1. 系统环境 centos7 内核:3.10.0-514.26.2.el7.x86_64 安装docker要求内核版本不低于3.10 2. 安装docker yum install docker // 安装docker systemctl start docker.service // 启动docker systemctl enable docker.service // 设置开机启动 3. Nodejs 镜像选择 REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/node 9.2.1-slim 69c9f9292fa4 3 days ago 230 MB docker.io/node 9.2.1-alpine afdc3aaaf748 3 days ago 67.46 MB docker.io/node latest 727b047a1f4e 3 days ago 675.6 MB docker....

2018-01-29 · 1 min · 王端端