成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Dockerfile最佳實(shí)踐(二):Docker變化后你應(yīng)當(dāng)做什么

云計(jì)算
之前我們發(fā)布過(guò)一篇關(guān)于Dockerfile最佳實(shí)踐的文章。上一篇會(huì)繼續(xù)保留造福Docker新手,這篇文章將介紹Docker有什么變化以及你現(xiàn)在應(yīng)當(dāng)做什么。

之前我們發(fā)布過(guò)一篇關(guān)于Dockerfile最佳實(shí)踐的文章。上一篇會(huì)繼續(xù)保留造福Docker新手,這篇文章將介紹Docker有什么變化以及你現(xiàn)在應(yīng)當(dāng)做什么。

1:不要開(kāi)機(jī)初始化

容器模型是進(jìn)程而不是機(jī)器。即使你認(rèn)為你需要做這一點(diǎn),你可能錯(cuò)了。

2:可信任構(gòu)建

即使你不喜歡這個(gè)題目但它是很棒的一功能。我把大部分gihub倉(cāng)庫(kù)添加到可信任構(gòu)建,這樣當(dāng)我提交我的新的等待索引后的鏡象。另外,我不必再創(chuàng)建單獨(dú)的Dockerfile倉(cāng)庫(kù)來(lái)與他人分享,它們都在同一個(gè)地方。

請(qǐng)記住,這不是你為嘗試新東西的操場(chǎng)。在你推送之前本地先構(gòu)建一下。Docker可以確保你在本地構(gòu)建和運(yùn)行的會(huì)是同樣的當(dāng)你把他們推送到其他任何地方。本地開(kāi)發(fā)和測(cè)試、提交和推送、以及等待索引上的官方鏡像都是建立在可信任構(gòu)建的基礎(chǔ)之上的。

3:不要在構(gòu)建中升級(jí)版本

更新將在基礎(chǔ)鏡像里你不需要在您的容器內(nèi)來(lái)apt-get upgrade更新。因?yàn)楦綦x情況下往往會(huì)失敗,如果更新時(shí)試圖修改init或改變?nèi)萜鲀?nèi)的設(shè)備。它還可能產(chǎn)生不一致的鏡像,因?yàn)槟悴辉儆心愕膽?yīng)用程序該如何運(yùn)行以及包含在鏡像中依賴的哪種版本的正確源文件。

如果有基礎(chǔ)鏡像需要的安全更新,那么讓上游的知道這樣他們可以給大家更新,并確保你的構(gòu)建的一致性。

4:使用小型基礎(chǔ)鏡像

有些鏡像比其他的更臃腫。我建議使用debian:jessie作為你的基礎(chǔ)鏡像。如果您熟悉ubuntu,你會(huì)在debian發(fā)現(xiàn)一個(gè)更輕便更幸福的家。此鏡像不但小巧,而且不包含任何不必要的腫脹的東西。

5:使用特定的標(biāo)簽

對(duì)與你的基礎(chǔ)鏡像這是非常重要的。Dockerfile中FROM應(yīng)始終包含依賴的基礎(chǔ)鏡像的完整倉(cāng)庫(kù)名和標(biāo)簽。比如說(shuō)FROM debian:jessie而不僅僅是FROM debian。

6:常見(jiàn)指令組合

您的apt-get update應(yīng)該與apt-get install組合。此外,你應(yīng)該采取\的優(yōu)勢(shì)使用多行來(lái)進(jìn)行安裝。

  1. #Dockerfile for https://index.docker.io/u/crosbymichael/python/  
  2. FROM debian:jessie 
  3.  
  4. RUN apt-get update && apt-get install -y \ 
  5. git \ 
  6. libxml2-dev \ 
  7. python \ 
  8. build-essential \ 
  9. make \ 
  10. gcc \ 
  11. python-dev \ 
  12. locales \ 
  13. python-pip 
  14.  
  15. RUN dpkg-reconfigure locales && \ 
  16. locale-gen C.UTF-8 && \ 
  17. /usr/sbin/update-locale LANG=C.UTF-8 
  18.  
  19. ENV LC_ALL C.UTF-8 

謹(jǐn)記層和緩存都是不錯(cuò)的。不要害怕過(guò)多的層因?yàn)榫彺媸谴缶刃恰.?dāng)然,你應(yīng)當(dāng)盡量使用上游的包。

7:使用自己的基礎(chǔ)鏡像

我不是在談?wù)撨\(yùn)行debbootstrap來(lái)制作自己的debian。我說(shuō)的是,如果你要運(yùn)行python應(yīng)用程序需要有一個(gè)python基礎(chǔ)鏡像。前面例子中Dockerfile用來(lái)構(gòu)建crosbymichael/python鏡像,它用于許多其他鏡像來(lái)運(yùn)行python應(yīng)用程序。

  1. FROM crosbymichael/python 
  2.  
  3. RUN pip install butterfly 
  4. RUN echo "root\nroot\n" | passwd root 
  5.  
  6. EXPOSE 9191 
  7. ENTRYPOINT ["butterfly.server.py"
  8. CMD ["--port=9191""--host=0.0.0.0"

另一個(gè):

  1. FROM crosbymichael/python 
  2.  
  3. RUN pip install --upgrade youtube_dl && mkdir /download 
  4. WORKDIR /download 
  5. ENTRYPOINT ["youtube-dl"
  6. CMD ["--help"]

正如你看到的這使得使用你的基礎(chǔ)鏡像非常小,從而使你集中精力在應(yīng)用程序上。

讓我知道你在想什么或者如果您有任何其它問(wèn)題可以在評(píng)論中留言。

原文鏈接:http://dockerone.com/article/132

責(zé)任編輯:Ophira 來(lái)源: dockerone
相關(guān)推薦

2023-07-25 11:22:31

2023-11-28 07:57:04

Dockerfile指令

2015-09-15 10:44:13

DockerDocker實(shí)踐企業(yè)IT

2015-05-13 11:20:02

DockerDocker實(shí)踐者PaaS

2017-03-28 19:57:43

DevOpsIT框架

2018-04-20 15:24:55

DockerfileDocker鏡像

2017-07-27 09:53:34

spring AopspringCIO

2010-11-18 11:01:49

面試

2019-07-29 10:51:12

Linux操作系統(tǒng)MySQL

2011-08-18 11:05:21

jQuery

2023-07-21 01:12:30

Reactfalse?變量

2023-08-04 08:20:56

DockerfileDocker工具

2014-09-30 09:38:35

2009-02-27 09:37:17

面試技巧求職

2024-01-05 09:08:48

代碼服務(wù)管理

2024-04-09 13:16:21

Rust命名規(guī)范

2024-05-23 08:32:48

2012-08-09 09:10:56

代碼審查代碼

2024-08-21 08:02:47

2014-06-09 15:50:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久久久久97 | 亚洲一区二区三 | 亚洲一区二区三区四区视频 | 亚洲精品国产第一综合99久久 | 成人天堂噜噜噜 | 亚洲伊人a | 日韩精品一| 国精久久 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲欧美激情网 | 黄色免费网 | 免费av在线网站 | 久久精品一级 | 精品一区二区三区视频在线观看 | 在线观看av不卡 | 欧美乱做爰xxxⅹ久久久 | 视频国产一区 | 激情网站在线观看 | 亚洲风情在线观看 | 秋霞a级毛片在线看 | 狠狠久 | av网站免费观看 | 日韩在线| 日韩欧美成人精品 | 狠狠艹| 亚洲欧美一区二区三区1000 | 欧美乱码精品一区二区三区 | 亚洲国产精品久久久 | 国产1区2区 | 亚洲一区中文 | 久久国产精品-国产精品 | 国产欧美精品一区二区三区 | 日韩精品一 | 亚洲视频国产视频 | 国产一级特黄真人毛片 | 国产精品国产a | 国产小视频在线观看 | 国产精品特级毛片一区二区三区 | 亚洲黄色av| av国产精品毛片一区二区小说 | 影音先锋中文字幕在线观看 |