云网牛站
所在位置:首页 > Linux云服务器 > 在Linux上安装DockerSlim并使用它最小化和优化Docker容器

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

2021-04-25 15:21:09作者:夏蓝稿源:云网牛站

本文介绍在Linux系统上安装DockerSlim的方法,同时附上在macOS上安装DockerSlim的方法,并使用DockerSlim最小化和优化Docker容器。

 

简介

DockerSlim是一个开源工具,可让您保护和最小化Docker容器多达30次。现在,让我们首先了解缩小容器带来的优势:

1、您的容器重量轻,因此启动速度更快。

2、升级也将更快。

3、容器越小,错误和安全威胁就越少。

4、您将最大程度地减少系统的存储使用量。

 

在Linux上安装DockerSlim

到DockerSlim GitHub存储库下载适用于您系统的最新二进制文件,地址在https://github.com/docker-slim/docker-slim,DockerSlim当前只能在Linux和UNIX系统(包括Mac)上运行。

请选择“最新的Linux二进制文件”以使用wget命令下载Linux系统的二进制文件,如:

wget https://downloads.dockerslim.com/releases/1.34.0/dist_linux.tar.gz

从.tar.gz文件中提取二进制文件:

tar -xvzf dist_linux.tar.gz

将提取的二进制文件移动到/usr/local/bin:

mv dist_linux/* /usr/local/bin

附:在macOS上安装DockerSlim

下载包含DockerSlim的存档文件:

wget https://downloads.dockerslim.com/releases/1.35.0/dist_mac.zip

使用解压缩解压缩文件:

unzip dist_mac.zip

将提取的二进制文件移动到/usr/local/bin:

mv dist_mac/* /usr/local/bin

使用which命令确认二进制文件已被系统识别:

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

安装就绪后,我们现在可以使用它来管理Docker容器,不过您首先需要在系统上安装Docker容器引擎。

 

使用DockerSlim最小化和优化Docker容器

DockerSlim具有一个交互式shell,您可以使用它来简化和保护容器。

您可以通过在终端上键入docker-slim来打开DockerSlim shell:

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

dockerslim的基本命令包括:

Build–分析和优化您的容器映像,然后生成受支持的安全配置文件。

xray–用于对容器图像执行静态分析。

lint–用于分析DockerFile中的容器指令。

profile–用于对容器图像进行分析而不生成优化图像。

上述命令还有其他选项,例如:

--target–目标DockerFile或映像。

--target-type–如果是image或dockerfile,则明确指定命令目标类型。

--http-probe–启用http探测。

注:可以在DockerSlim GitHub存储库中查看许多其他示例。

下面是一个例子,构建优化的Nginx image。安装Nginx参考:在CentOS 8系统中安装Nginx的方法

为了构建优化的映像,首先需要下载该映像:

$ docker pull nginx:latest

我们可以通过以下命令检查下载image的大小:

$ docker images nginx:latest

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

现在,我们可以使用以下命令构建优化的image:

$ docker-slim build --target nginx:latest

样本输出:

......

cmd=build info=event message='HTTP probe is done'

cmd=build state=container.inspection.finishing

cmd=build state=container.inspection.artifact.processing

cmd=build state=container.inspection.done

cmd=build state=building message='building optimized image'

cmd=build state=completed

cmd=build info=results status='MINIFIED BY 12.00X [133108601 (133 MB) => 11089969 (11 MB)]'

cmd=build info=results  image.name=nginx.slim image.size='11 MB' data=true

cmd=build info=results  artifacts.location='/tmp/docker-slim-state/.docker-slim-state/images/519e12e2a84a9eb18094635ae1edfd97b26f95dbc66e317eefb657a1cb08c8dc/artifacts'

cmd=build info=results  artifacts.report=creport.json

cmd=build info=results  artifacts.dockerfile.original=Dockerfile.fat

cmd=build info=results  artifacts.dockerfile.new=Dockerfile

cmd=build info=results  artifacts.seccomp=nginx-seccomp.json

cmd=build info=results  artifacts.apparmor=nginx-apparmor-profile

cmd=build state=done

cmd=build info=commands message='use the xray command to learn more about the optimize image'

上面的输出表明image已从133MB减少到11MB,这是12倍的尺寸。

我们可以通过检查新image的大小来确认这一点:

$ docker images nginx.slim

输出:

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

现在,我们可以根据新image创建一个容器,看看它是否可以正确地用作原始image:

$ docker run -it -d --name slim-webserver -p 86:80 nginx.slim

在上面的命令中,我们以分离模式(-d)启动了一个容器,该容器的名称为slim-webserver,并将容器的80端口暴露给主机的86端口。我们还使用了nginx.slim作为image。

您可以使用docker ps -a命令检查容器的状态:

root@webserver:~# docker ps -a

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

我们可以在主机的86端口上访问Web服务器:

在Linux上安装DockerSlim并使用它最小化和优化Docker容器

这证实我们已经能够将Nginx image从133MB缩小到11MB,并使用它创建了一个工作容器。

 

相关主题

在RHEL 8/CentOS 8上安装Docker和Docker Compose的方法

精选文章
热门文章