Docker上的Alpine Linux鏡像建立
大小:0.26 MB 人氣: 2017-10-12 需要積分:1
標(biāo)簽:Docker(11471)
如何建立你自己的Docker鏡像2016-03-18 14:33Alpine Linux的什么是Docker社區(qū)所鐘愛?輕量級容器意味著更多的計算資源。Alpine Linux的確是輕型的,也就是說Alpine Linux是面向安全應(yīng)用的輕量級 Linux 發(fā)行版。
你喜歡存錢嗎?我喜歡存錢。更好地資源利用就像擁有幸福的銀行賬戶。
讓我們對Docker上的Alpine Linux一探究竟。在Alpine Linux上可以建立屬于我們自己的鏡像。
創(chuàng)建你自己的容器
建立一個鏡像的第一步是創(chuàng)建一個新的目錄,并打開Dockerfile。接來下,用你最喜愛的文本編輯器取代“atom”行。
cd~ mkdir buildingDockers cdbuildingDockers atom Dockerfile
在atom中,添加以下代碼到文件中并保存。
FROM iron/base
這是Iron.io容器的基礎(chǔ)鏡像,但你實際上可以命名任意Docker repo里你想要的的鏡像。
我喜歡iron/base鏡像,因為這是一個Iron.io博客。但也因為它增加了必要的庫,當(dāng)我們開始添加和構(gòu)建其他包的時候可以派上用場。
我們首先需要FROM命令。讓我們創(chuàng)建容器!在命令行中鍵入:
docker build -tnamehere 。
身披Shell的勇士
好了,我們已經(jīng)有一個容器。現(xiàn)在,我們用它做什么?
訪問shell是一個很棒的方法,并且很有成就感。它也很方便進行故障排除。打開鏡像并釋放shell,試試:
docker build -tnamehere 。
注意,這不是 Bash。
有許多有用的命令來創(chuàng)建Docker鏡像。為了簡化,本文只介紹FROM和RUN命令。這絕對是值得查看整個列表選項的官方文檔。
生而為RUN
RUN如何執(zhí)行一個命令。例如,Alpine Linux 有一個很棒的存儲類包,類似apt-get之類。為了看已安裝的東西,嘗試添加以下代碼到你的Dockerfile:
RUNapk info
我們的安裝包是如此有用。讓我們添加一些東西。為此,從Alpine Linux packages repo中選擇一個包。現(xiàn)在,將它添加至Dockerfile:
RUN apk addpackageNameHere
最佳的實踐和警告
Docker本身就有一個偉大的最佳實踐指南。在這篇文章中,他們指出保持鏡像小的重要性。避免膨脹很簡單和直觀。沒問題,對吧?只是安裝你需要的軟件。
你也在Dockerfile中限制RUN命令的數(shù)量?Dockerfile 建立在層中。每個命令添加一個新的層。更多的層意味著更多的工作要做,你要將它們干凈利落的合并在一起。
層可多可少
減少分層,我建議對命令分組。我們希望添加一個單獨的層解決盡可能多的工作。以下是分組命令:
RUN command1 && command2
通過使用“ ”和回車使它更具可讀性:
RUN command1 && command2 && command3
直到變成腦力負(fù)擔(dān)之前,分組命令都是偉大的。當(dāng)那種情況發(fā)生,優(yōu)先考慮維護性。如果它減少了認(rèn)知負(fù)荷,使用一個額外的RUN命令。Kelsey Hightower在《12 Fractured Apps》中指出,扭轉(zhuǎn)一個RUN命令到shell腳本中是一個稍顯遜色的方法來保證鏡像的可維護性。
刪除緩存,沒人會因此受傷
沒必要在Docker-land中安裝緩存包。所以,讓我們刪除緩存。在你的Dockerfile結(jié)尾處添加以下語句:
RUN rm -rf/var/cache/apk/*
Musl Milk
如果你敢于用官方之外的Alpine Linux apk生態(tài)系統(tǒng),你就有很大的機會選擇從源代碼進行編譯。請注意,Alpine Linux依賴于Musl而不是GCC。
照著這么編譯。
Busy Beat Boxin’
Alpine Linux在發(fā)行版大小上作出一些犧牲。他們選擇BusyBox,而不是安裝*Nix實用工具的標(biāo)準(zhǔn)套件。BusyBox是常用的實用工具中不錯的精簡型。
那就意味著一些實用工具可能不接受一般的GNU標(biāo)記。這也意味著有些實用工具可能會完全消失。想要curl在你的鏡像中?那你必須安裝它。
保持學(xué)習(xí)
維基百科上有Alpine Linux的資料,你可以自己尋找更方便的技巧。
最后,有我們便利的IronWorker指南,很容易檢視Docker鏡像。如果你想看看我們?nèi)绾螌慏ockerfiles,訪問github.com/iron-io/dockers.
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
Docker上的Alpine Linux鏡像建立下載
相關(guān)電子資料下載
- 如何在Windows系統(tǒng)上設(shè)置Docker鏡像源 55
- 機器學(xué)習(xí)需要掌握的九種工具盤點 16
- Docker鏡像國內(nèi)加速的幾種方法 55
- VectorCAST|Docker場景下的代碼白盒測試實施 402
- 如何用Springboot整合Redis 118
- 如何在macOS系統(tǒng)中用Docker運行macOS鏡像呢? 364
- 什么是Docker容器?為什么需要Docker容器? 71
- 為什么需要Docker容器?Docker容器和VM有什么區(qū)別? 323
- 如何使用 Docker容器化技術(shù) 1188
- Dockerfile定義Docker鏡像的構(gòu)建過程 1088