一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

Docker上的Alpine Linux鏡像建立

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

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?