天天看點

怎樣壓縮Docker 鏡像的大小FROM alpine把 APT 或者 YUM 變成APK怎麼進入Alpine的指令界面?總結

容器的便捷在于可以很快的搭建基礎軟體,但是如果你有2G的鏡像還要常常pull 和push,還是有些麻煩。我們注意到Docker官方的很多鏡像都是使用的Alpine版本的linux, 和我們常見的Ubuntu, Debian, Centos不一樣。

Alpine Linux 是一個社群開發的面向安全應用的輕量級Linux發行版, 适合用來做Docker鏡像、路由器、防火牆、VPNs、VoIP 盒子 以及伺服器的作業系統。

Alpine 能夠使得鏡像變得非常小,比如 python:2.7-alpine 鏡像 19MB 而普通python:2.7 image 是 260MB。

裁剪步驟如下:

FROM alpine

第一步是修改Dockerfile裡的基礎鏡像

FROM ubuntu => FROM alpine

FROM python:2.7 => FROM python:2.7-alpine

FROM ruby:2.3 => FROM ruby:2.3-alpine

把 APT 或者 YUM 變成APK

使用alpine最大的不同就是安裝包的方式不一樣

比如RUN apt-get update && apt-get install <package> 可以換成

RUN apk add --no-cache <package>

apk –no-cache

這個參數将不在本地存儲安裝包

apk –virtual and del 先安裝再删除

比如

'''

RUN apk add --no-cache --virtual .build-deps

gcc

freetype-dev

musl-dev

RUN pip install --no-cache-dir <packages_that_require_gcc...>

RUN apk del .build-deps

怎麼進入Alpine的指令界面?

Alpine預設不帶bash,是以:

docker run -ti my_image bash

docker run -ti my_image sh

總結

通過使用Alpine, 我的鏡像縮減到原來的1/3,現在分享給你,希望你也能成功瘦身!