<em id="pn7p8"><acronym id="pn7p8"><u id="pn7p8"></u></acronym></em>

    <th id="pn7p8"></th>

    <button id="pn7p8"></button>

      <dd id="pn7p8"></dd>
      <progress id="pn7p8"><track id="pn7p8"></track></progress>

      Linux培訓
      達內IT學院

      400-111-8989

      如何讓你的 Docker 鏡像更小

      • 發布:佚名
      • 來源:網絡
      • 時間:2015-07-20 15:46

      Docker是個好東西毋庸置疑,甚至可以稱其為萬金油,什么場合都看到他的身影。自14年底開始,小到防污染的DNS、CoreOS的 socks5代理,大點到開發團隊的CI系統,一些Web項目等等,都有在用,并且穩定性非常好,使用起來也方便,但是最近經常發現各大論壇、網站、文檔在使用Docker鏡像的時候常常發現的一個誤區,謹以此文拋磚引玉。

      讓我們從一個dockerfile說起,緣起我5月寫的一個2048的Docker鏡像,當時是在csphere的群里,以游戲的形式,教人快速的集成Web服務,提供服務。我們首先來看一個傳統的鏡像寫法:

      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"]

      解讀一下:

      基于ubuntu12.04,先來一個更新,然后安裝nginx、zip、curl,配置nginx,下載2048代碼,解壓再放到指定位置,刪除原始文件,拋出80端口,最后是執行命令。

      這樣的dockerfile再熟悉不過了吧,隨便docker hub或者其他教學文檔都是這樣,接下來,我們來談談中間的毛病。

      pull一個ubuntu需要多少時間,占多大的空間?(初學者好多在這一步就頭痛)

      ubuntu在沒有添加中國鏡像源的情況,更新是個多么痛苦的事?(燈,等等等等)

      配置啰嗦(麻煩,麻煩)

      整個生成的鏡像碩大無比,玩個2048不需要這么復雜。

      光提問題,不給解決方案就是耍流氓,還是看dockerfile:

      FROM alpine:latest
      MAINTAINER alex alexwhen@gmail.com
      RUN apk --update add nginx
      COPY . /usr/share/nginx/html
      EXPOSE 80
      CMD [“nginx”, “-g”, “daemon off;”]

      極簡化的利用dockerfile和base鏡像和github的特性,能少一句就少一句,動動手試一下,這樣build出來,整個鏡像不超過10M,回過頭來看看前面的鏡像,光一個ubuntu得多大啊,實在是居家必備。

      Docker是個好東西,應用的時候充分考慮自己的使用環境,不要動不動就FROM ubuntu、debian、centos。alpine是一個非常好的base,包管理系統比較完善,神器啊。

      本人的docker-2048,可以從以下方式獲得:

      github:https://github.com/alexwhen/docker-2048

      注:你可以在此基礎上玩出更多你想要的東西

      直接運行: docker run -d -p 80:80 alexwhen/docker-2048 (本機80端口有占用的請換端口),然后打開瀏覽器輸入127.0.0.1,你就可以愉快的玩了。

      本鏡像同樣存在于alauda和daocloud。

      寫在最后,寫這個本來是教一個新人學寫Dockerfile和快速的利用Docker云服務快速的構建出自己的應用。

      預約申請免費試聽課

      填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

      上一篇:在 RHEL/CentOS 7.0 中安裝 LAMP
      下一篇:一個成功的 Git 分支模型

      如何讓你的 Docker 鏡像更小

      • 掃碼領取資料

        回復關鍵字:視頻資料

        免費領取 達內課程視頻學習資料

      • 視頻學習QQ群

        添加QQ群:1143617948

        免費領取達內課程視頻學習資料

      Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

      選擇城市和中心
      黑龍江省

      吉林省

      河北省

      湖南省

      貴州省

      云南省

      廣西省

      海南省

      高清特黄a大片,日本真人真做爰,特级做人爱C级,免费a级毛片 百度 好搜 搜狗
      <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>