引言
我们通过Dockerfile或者docker build生成的Images往往都很大,对于磁盘空间的占用消耗什么大。因此,docker-slim的出现能够帮助我们精简docker image的体积。
docker-slim_官方演示.gif
1 docker-slim的介绍:
docker-slime需要借助golang环境(推荐使用golang1.10+),点击访问docker-slim官网。
1.1 golang环境的安装配置:
golang的安装和环境配置脚本如下所示:
cd /opt
wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz
tar -xzvf go1.10.linux-amd64.tar.gz
mkdir -p /usr/local/go
cp -rfv /opt/go/* /usr/local/go/
echo "export GOROOT=/opt/go
export GOPATH=/usr/local/go/src/pkg
export PATH=$GOROOT/bin:$PATH" >> /etc/profile
ln -s /usr/local/go/bin/go /usr/bin/go
go version
1.2 docker-slim环境的安装配置:
docker-slim的安装和环境配置脚本如下所示:
#!/bin/bash
#此脚本用于安装配置docker-slim
#docker-slim可以简化docker images的存贮大小
cd /opt
mkdir -p /opt/docker-slim
cd /opt/docker-slim
wget https://github.com/docker-slim/docker-slim/releases/download/1.20/dist_linux.tar.gz
tar -xzvf dist_linux.tar.gz
cd dist_linux
ln -s /opt/docker-slim/dist_linux/docker-slim /usr/bin/docker-slim
ln -s /opt/docker-slim/dist_linux/docker-slim-sensor /usr/bin/docker-slim-sensor
2 docker-slim使用:
2.1 dockerslim build
dockerslim build 命令用于对被指定的docker镜像进行slim瘦身压缩操作。
格式:docker-slim build --http-probe (被指定)镜像名
2.2 docker run 运行dockerslim镜像
格式:docker run --security-opt seccomp:<docker-slim directory>/.images/<YOUR_APP_IMAGE_ID>/artifacts/your-name-your-app-seccomp.json <your other run params> (已经slim)镜像名