9.Docker-Slim安装以及使用步骤(Ubuntu)

Docker-Slim是一款Docker映像瘦身同样也使Docker映像更安全的工具,不改变您映像里面的任何东西,瘦身最大30倍(编译型语言更大,Golang高达448倍),Docker-Slim通过了解您的应用程序以及使用各种分析技术所需要的内容,将优化并保护您的容器。

安装

1.下载最新的Docker-Slim压缩包

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

2.解压下载下来的压缩包

tar zxvf dist_linux.tar.gz

3.配置PATH环境变量的简易方法

mv dist_linux/* /usr/local/bin/

4.测试安装成功与否

docker-slim --version
docker-slim version linux|Transformer|1.33.0|da7983050b8bf326c6f8e73ddce43a5b8d54da4b|2020-12-12_08:18:23PM

用法

docker-slim [global flags] [lint|xray|build|profile|update|version|help] [command-specific flags] <IMAGE_ID_OR_NAME>
  • build-分析,配置和优化您的容器映像,以生成受支持的安全配置文件。这是最流行的命令。
  • xray-对目标容器映像执行静态分析(包括对映像的Dockerfile进行“逆向工程”)。如果您想知道容器映像中的内容以及使其变胖的原因,请使用此命令。
  • lint -分析Dockerfiles中的容器指令(Docker镜像支持WIP)
  • profile -执行基本的容器图像分析和动态容器分析,但不会生成优化的图像。
  • version -显示版本信息。
  • update-更新docker-slim到最新版本。
  • help -显示可用的命令和全局标志

BUILD 命令选项

  • –target -被瘦身的映像(名称或ID)
  • –http-probe-启用HTTP探测(默认情况下为ENABLED;如果不需要,则必须通过将标志设置为来禁用探测false)
  • –tag-瘦身以后所生成的映像的自定义标签
  • –exec -通过Docker exec运行的shell脚本代码段
  • –exec-file -通过Docker exec运行的shell脚本文件

示例

请注意,docker-slim如果您启用带有–http-probe标志或其他相关HTTP探测标志的HTTP探测,它将与您的应用程序交互。一些使用脚本语言(例如Python或Ruby)构建的Web应用程序需要服务交互才能将所有内容加载到应用程序中。启用HTTP探测,除非它妨碍了您的工作。

您也可以使用–exec-file或–exec通过Shell脚本或代码段与临时容器进行交互。例如,您可以创建一个只能使用curl的容器。

>> docker pull archlinux:latest
...

>> docker-slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
...

>> docker run archlinux:curl curl checkip.amazonaws.com
...

>> docker images
archlinux                 curl                ...        ...         17.4MB
archlinux                 latest              ...        ...         467MB

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/docker/2986.html

(4)
上一篇 2020年12月13日 20:10
下一篇 2020年12月22日 18:19

相关推荐

  • 5.Docker容器工具一览表

    工具名 缩写 解释 Containerd —— 行业标准的核心容器运行时,捐赠给了CNCF(云原生计算基金会),重点是简单性,健壮性和可移植性 Runc —— 开放容器计划(OCI)的参考实现 Doceker Engine —— 开发和运行容器的底层Docker容器化引擎 Docker-Compose —— 使用Doc…

    Docker教程 2020年12月4日
    09730
  • 2.Containers(容器)和Virtual Machines(虚拟机)的区别

    容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化了操作系统,而不是硬件。容器更加便携和高效。 容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台计算机上运行,​​并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。容器占用的空间少于VM(容器映像的大小通常为几十MB…

    Docker教程 2020年12月4日
    01.2K0
  • 3.Docker底层技术和架构

    Docker用Go编程语言编写,并利用Linux内核的多个功能来交付其功能。 命名空间(namespaces) Docker使用一种称为namespaces的技术来提供称为container的隔离工作区。运行容器时,Docker会为该容器创建一组 namespaces。 这些命名空间提供了一层隔离。容器的每个…

    Docker教程 2020年12月4日
    01.1K0

发表回复

登录后才能评论