大多數使用 Docker 的 IT 專業人員都面臨 Docker 容器大小問題。 一個 Docker 鏡像的大小可以達到千兆字節。這會消耗系統上的大量存儲空間,並且難以升級和啟動容器。幸運的是,Linux/Mac 系統有免費的開源工具,可以保護和最小化你的 Docker 容器的大小高達 30 倍。
使用 Docker Slim 的原因
- 最小化容器的大小以減少存儲使用。
- 創建輕量級容器以加快啟動速度
- 減少錯誤
本文介紹如何安裝 Docker Slim 並使用它來最小化您的 Docker 容器。
安裝
Linux 和 UNIX 系統(包括 Mac)目前支持 Dockerslim。 您可以從以下位置下載 dockerslim 二進製文件 DockerSlimGitHub 存儲庫。 轉到下面的 GitHub 存儲庫鏈接,為您的系統安裝和下載最新的二進製文件。
DockerSlim GitHub 倉庫:https://github.com/docker-slim/docker-slim
此外,您可以使用 wget 命令下載最新的 Docker Slim 二進製文件。
$ wget https://downloads.dockerslim.com/releases/1.36.1/dist_linux.tar.gz
要提取下載的文件,請運行以下命令:
$ tar -zvxf dist_linux.tar.gz
解壓文件後,將二進製文件移動到 /usr/local/bin 目錄,如下所示:
$ sudo mv dist_linux/* /usr/local/bin
要驗證您的 Docker Slim 安裝,請運行以下命令:
$ which docker-slim
輸出:
使用指南中的有用命令和可選幫助運行 docker-slim。
$ docker-slim help
輸出:
DockerSlim 提供了一個非常方便的菜單式命令行。試用可用的命令 碼頭工人苗條 沒有討論。 在 DockerSlim 外殼中,鍵入: 幫助 在交互式提示下獲取幫助菜單。
輸出:
基本命令是:
Exit => 退出 Docker Slim shell
X-ray => 查看容器鏡像的內容並對 Dockerfile 進行逆向工程
version => 顯示 Docker Slim 和 docker 版本信息
分析 Lint => Dockerfiles 容器指令
準備一個容器來減肥
要創建一個纖薄的 Docker 容器,您需要使 Docker 映像在您的本地系統上可用。對於本文,我選擇了 httpd 映像。您可以根據需要選擇圖像。使用以下語法從 docker hub 拉取 docker 鏡像: 請注意,需要在您的系統上安裝 Docker 引擎和依賴項
句法:
$ docker pull <image name>
$ docker pull httpd
輸出:
驗證容器的輸出
提取圖像後,將其作為容器運行並檢查輸出。在這個例子中,我們暴露了 httpd docker 容器的 80 端口,並使用瀏覽器訪問了默認的 Apache 頁面。
$ docker run -d --name apache -p 80:80 httpd
輸出:
此外,要檢查 Docker 映像的大小,請運行以下命令
$ docker images
輸出:
使用 Docker Slim 構建鏡像
我已經提取了 Docker 映像並驗證了容器是否正常工作。然後使用 Docker Slim 構建優化後的鏡像。使用以下語法創建一個最小的 Docker 鏡像:
$ docker-slim build --target <image name>
例子:
$ docker-slim build --target httpd
輸出:
輸出顯示 Docker 映像的大小已從 138 MB 減少到 8.1 MB。這是原始圖像的 1 / 16.3。
檢查最終圖像
要查看最終圖像大小,請運行以下命令:
$ docker images
輸出:
構建鏡像以從 Docker Slim 運行容器
最後,從優化後的圖像創建一個容器並監控輸出。現在我們已經使用了 httpddocker 鏡像來最小化它,從最新的鏡像運行 httpd 容器。您可以相應地選擇圖像。
句法:
$ docker run -d --name <name of the container > -p <host port : container port> <image name>
例子
$ docker run -d --name apache -p 80:80 httpd.slim
在哪裡,
httpd.slim 是一個優化的 httpddocker 鏡像。
輸出:
您可以看到容器以優化的圖像啟動。在瀏覽器中瀏覽容器以查找輸出。
您可以看到 httpd docker 容器可以與最小化的 Docker 映像一起正常工作。
結論是
本文介紹瞭如何在您的 Linux 系統上安裝 Docker Slim,以及如何使用 Docker Slim 來優化和保護您的 Docker 容器。