在Linux中鏡像往往非常大,但是使用Docker鏡像是以個例外。使用Linux Docker制作的鏡像,小的可能只有幾M。本文就來介紹一下在Linux系統中如何使Docker鏡像變小的方法。
傳統的鏡像寫法:
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y nginx zip curl
RUN echo “daemon off;” 》》 /etc/nginx/nginx.conf
RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master
RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* 。 && rm -rf 2048-master master.zip
EXPOSE 80
CMD [“/usr/sbin/nginx”, “-c”, “/etc/nginx/nginx.conf”]
Linux使Docker鏡像變小的方法
基於ubuntu12.04,先來一個更新,然後安裝nginx、zip、curl,配置nginx,下載2048代碼,解壓再放到指定位置,刪除原始文件,拋出80端口,最後是執行命令。
這樣的dockerfile再熟悉不過了吧,隨便docker hub或者其他教學文檔都是這樣,接下來,我們來談談中間的毛病。
1、pull一個ubuntu需要多少時間,占多大的空間?(初學者好多在這一步就頭痛)2、ubuntu在沒有添加中國鏡像源的情況,更新是個多麼痛苦的事?3、配置 4、整個生成的鏡像碩大無比,玩個2048不需要這麼復雜。
光提問題,不給解決方案就是耍流氓,還是看dockerfile:
FROM alpine:latest
MAINTAINER alex [email protected]
RUN apk --update add nginx
COPY 。 /usr/share/nginx/html
EXPOSE 80
CMD [“nginx”, “-g”, “daemon off;”]
極簡化的利用dockerfile和base鏡像和github的特性,能少一句就少一句,動動手試一下,這樣build出來,整個鏡像不超過10M,回過頭來看看前面的鏡像,光一個ubuntu得多大啊,實在是居家必備。
以上就是在Linux系統中如何使Docker鏡像變小的方法介紹了,Linux鏡像越小占用空間就越少,而且安裝就更快。