日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Docker鏡像壓縮與優(yōu)化操作

瀏覽:341日期:2024-11-10 10:26:30

現(xiàn)如今docker如此受人追捧,主要是因為它的輕量化、可以快速部署以及資源的利用。但是一個docker images質(zhì)量的好與壞,主要取決于Dockerfile編寫的質(zhì)量。同樣功能的鏡像,但是不同的Dockerfile build出來的鏡像大小是不一樣的,這是因為docker是由一層一層的只讀層累積起來的,而這每一層就是Dockerfile中的每一條指令,所以Docker image的大小完全取決于Dockerfile中的每條指令生成的中間層的大小,

下面我們來舉一個小例子來詳細說明dockerimage的形成。

我們有一個Dockerfile:

FROM Ubuntu:14.04ADD run.sh /VOLUME /dataCMD [“./run.sh”]

這個簡單的Dockerfile主要做的事情是:基于Ubuntu:14.04系統(tǒng)將run.sh放在根目錄下,設置卷掛載點,然后在image啟動的時候run腳本run.sh。

下圖就是形成的docker image:

Docker鏡像壓縮與優(yōu)化操作

很明顯,由圖我們可以看到,四條指令分別形成四個層,假設Ubuntu:14.04是150MB,run.sh是1MB的話,那么FROM Ubuntu:14.04層的大小就是150MB,ADD run.sh /層的大小即為1MB,而VOLUME /data層和CMD [“./run.sh”]由于沒有加入文件等數(shù)據(jù),也沒有在系統(tǒng)中生成數(shù)據(jù),所以該層的大小為0。

所以整個image的大小就是151MB。在知道了docker image生成的原理之后,下面我們就來聊一下docker鏡像的優(yōu)化與壓縮。

需要說明的一點就是:層數(shù)的多少在某些情況下是不會決定image的大小的,只有當Dockerfile中出現(xiàn):

RUN yum install ***

RUN yum uninstall ***

的時候鏡像是可以壓縮優(yōu)化的,因為上面這兩句是安裝一個工具,然后卸載掉,正常情況下我們感覺這樣一安裝一卸載大小就為0了,但是在docker image中不是這樣的,RUN yum uninstall ***這一層只能是令上一層不可見,但是上一層的大小是不會變化的,所以,如果想達到0的效果,我們就需要將這兩層壓縮成一層,也就是這樣寫:

RUN yum install *** &&

yumuninstall ***

這樣就會達到壓縮鏡像的效果。

所以,壓縮鏡像主要有兩點:

1、選擇一個較小的原鏡像,也就是FROM后面的那個鏡像盡量要小。

2、根據(jù)實際情況對Dockerfile中的層進行合并,具體情況就是如上述所說的情況,要知道并不是隨便合并層就會達到效果的。

補充知識:如何將anaconda+jupyter build成docker鏡像

最近由于業(yè)務的需求,要build一個jupyter的image來提供服務,因為docker的輕量化可以很方便的遷移。

下面來介紹一下我所做的操作,以及我踩的坑:

首先來安裝anaconda,有python2和3版本的,版本不同但是build的過程是一樣的,有兩種方式,第一種,你可以通過Dockerfile的方式來build image,但是在運行Anaconda2-5.0.1-Linux-x86_64.sh腳本的時候無法實現(xiàn)交互,所以,我才用了docker commit的方式來執(zhí)行,但是事實證明也可以通過Dockerfile的方式來build,您只需要在本機上先運行了Anaconda2-5.0.1-Linux-x86_64.sh的腳本,并將生成的文件夾就是anaconda2 ADD到image中相應的位置,并且修改環(huán)境變量,將PATH加進去即可。

下面以python2為例來說:

1. 從anaconda官網(wǎng)上下載運行腳本Anaconda2-5.0.1-Linux-x86_64.sh,其中在下載的時候要注意你的系統(tǒng)的是32位還是64位。

2. 將腳本scp到基礎鏡像中,安裝解壓指令bzip2

yum install bzip2

3. 運行腳本(一路輸入yes)

sh Anaconda2-5.0.1-Linux-x86_64.sh

4. 更新anaconda

conda update anaconda

5. 安裝jupyter

conda install jupyter

6. 創(chuàng)建登錄密碼

root@localhost ~]# ipython Python 3.5.2 (default, Aug 4 2017, 02:13:48)Type ’copyright’, ’credits’ or ’license’ for more informationIPython 6.1.0 -- An enhanced Interactive Python. Type ’?’ for help. In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:Verify password:Out[2]: ’sha1:5311cd8b9da9:70dd3321fccb5b5d77e66080a5d3d943ab9752b4’

7. 生成配置文件

jupyter notebook --generate-config --allow-root

注意:在這一步的時候有可能會遇見編碼錯誤:UnicodeEncodeError:’ascii’codec can’t encode characters in position...

處理的方法是:在anaconda2文件夾中的lib>python2.7>site.py更改:

if 0: # Enable to support locale aware default string encodings. import locale loc = locale.getdefaultlocale() if loc[1]: encoding = loc[1]#將上述代碼段中if后面的0改成1,保存,重新啟動anaconda。

8. 修改配置文件:

vi ~/.jupyter/jupyter_notebook_config.py

添加以下內(nèi)容:

c.NotebookApp.ip=’*’c.NotebookApp.password = u’sha1:5311cd8b9da9:70dd3321fccb5b5d77e66080a5d3d943ab9752b4’ #注意這里的密鑰是剛剛生成的那個c.NotebookApp.open_browser = Falsec.NotebookApp.port =8888 #隨便指定一個端口,使用默認8888也可以

9.保存鏡像

docker commit 容器ID 鏡像名稱

10. 啟動images提供服務:

docker run --privileged -d -p 8889:8888 -v /sys/fs/cgroup:/sys/fs/cgroup --name jupyter jupyter2:v2 /usr/sbin/init

注意:centos7有一個大坑,就是你在關(guān)閉防火墻的時候,systemctl 無法使用,報錯: Failed to get D-Bus connection : Operation not permitted

所以要用init來起,在Dockerfile中可以用CMD來使運行時啟動。

11. 進入docker image

docker exec -it jupyter /bin/bash

12.關(guān)閉防火墻

systemctl stop firewalls.service

13. 啟動jupyter

jupyter notebook --notebook-dir=/root/ --allow-root

14.在瀏覽器輸入服務器的IP+映射的端口號即可訪問,完成~

以上這篇Docker鏡像壓縮與優(yōu)化操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Docker
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩1区2区日韩1区2区| 一区二区三区四区在线观看国产日韩| 亚洲专区欧美专区| 色综合狠狠操| 亚洲aa在线| 蜜桃91丨九色丨蝌蚪91桃色| 日韩天堂av| 激情欧美国产欧美| 麻豆91精品视频| 丝袜美腿成人在线| 日产精品一区| 久久毛片亚洲| 精品网站999| 九九九精品视频| 国产在视频一区二区三区吞精| 中文在线日韩| 在线日韩中文| 国产在线|日韩| 麻豆精品蜜桃| 日韩欧美1区| 私拍精品福利视频在线一区| 韩国女主播一区二区三区| 国产美女高潮在线| 日本蜜桃在线观看视频| 国内精品伊人| 久久高清免费| 亚洲欧美久久| 日韩免费精品| 国产精品多人| 日本综合字幕| 国产手机视频一区二区| 日韩中文字幕视频网| 日韩欧美久久| 久久精品国产网站| 欧美日韩水蜜桃| 日韩专区在线视频| 国产精品中文字幕亚洲欧美| 国产精品色在线网站| 国产日韩免费| 国产成人久久精品麻豆二区| 精品国产中文字幕第一页| 秋霞影院一区二区三区| 日韩国产一二三区| 麻豆国产精品一区二区三区| 精品国产欧美日韩| 国产一区日韩欧美| 国产日产精品_国产精品毛片 | 一本综合精品| 色综合视频一区二区三区日韩| 精品美女视频| 综合干狼人综合首页| 国产aⅴ精品一区二区四区| av不卡在线| а√天堂8资源在线| 日韩高清中文字幕一区| 精品中文一区| 美女高潮久久久| 日韩中文字幕区一区有砖一区| 欧美日韩亚洲一区三区| 一区二区三区国产盗摄| 色爱综合av| 国产精品亚洲人成在99www| 在线日韩av| 亚洲日本网址| 欧美aa在线视频| 日韩在线播放一区二区| 日本精品不卡| 国产欧美日韩精品高清二区综合区| 午夜精品网站| 日韩久久精品网| 国产精品免费精品自在线观看| 热久久免费视频| 亚洲高清成人| 美腿丝袜亚洲三区| 日本免费一区二区视频| 亚洲综合二区| 好看的亚洲午夜视频在线| 精品久久97| 国产一区二区三区不卡av| 久久久国产精品网站| 久久av资源| 国产区精品区| 久久精品国产福利| 国产不卡av一区二区| 97精品国产一区二区三区| 久久男人天堂| 亚洲91久久| 久久久久欧美精品| 日韩深夜视频| 日韩欧美午夜| 一区二区三区国产盗摄| 超碰99在线| 日韩毛片网站| 国产一区久久| 91青青国产在线观看精品| 日韩精品欧美成人高清一区二区| 日韩和的一区二在线| 久久的色偷偷| 免费视频最近日韩| 免费污视频在线一区| 欧美激情在线精品一区二区三区| 亚洲性色视频| 精品久久影院| 亚洲精品在线a| 欧美精品一二| 理论片午夜视频在线观看| 久久久久久久久丰满| 香蕉久久久久久久av网站| 日本电影久久久| 日本免费一区二区视频| 日韩欧美另类一区二区| 亚洲乱码视频| 亚洲欧美日韩精品一区二区| 久久精品国产网站| 亚洲三级在线| 亚洲欧洲美洲av| 国产日韩欧美三区| 欧美在线亚洲综合一区| 国产免费播放一区二区| 999精品一区| 国内一区二区三区| 9久re热视频在线精品| 红杏一区二区三区| 国产香蕉精品| 日本不卡高清视频| 视频一区二区欧美| 黄色成人精品网站| 精品国模一区二区三区| 国产精品亚洲人成在99www| 国产麻豆综合| 日韩亚洲在线| 伊人久久婷婷| 精品一区欧美| 美女一区网站| 国产精品精品| 高清一区二区| 国产一区二区三区不卡视频网站 | 欧美日韩国产在线一区| 久久国产人妖系列| 日韩国产成人精品| 国产探花在线精品一区二区| 狠狠久久婷婷| 国产免费av一区二区三区| 国产精品久久久久久久久久白浆 | 美女精品久久| 91欧美在线| 精品1区2区3区4区| 婷婷综合电影| 欧美日韩一区自拍| 久久久久免费| 影院欧美亚洲| 91精品亚洲| 国产精品成人自拍| 亚洲大片在线| 国内在线观看一区二区三区| 日韩中文字幕亚洲一区二区va在线| 欧美国产一级| 久久av影院| 亚洲v天堂v手机在线| 黑森林国产精品av| 吉吉日韩欧美| 国产欧美日韩一区二区三区四区| 丝袜a∨在线一区二区三区不卡| 日本不卡高清| 国产精品18| 鲁鲁在线中文| 六月天综合网| 欧美一区自拍| 性感美女一区二区在线观看| 亚洲欧洲一区二区天堂久久| 日本中文字幕一区二区视频| 精品亚洲自拍| 欧美69视频| 97se亚洲| 欧美精品二区| 韩国精品主播一区二区在线观看 | 日韩国产一区二| 风间由美中文字幕在线看视频国产欧美| 91精品一区国产高清在线gif| 视频一区视频二区在线观看| 国产精品分类| 久久精品影视| 日韩精品久久理论片| 日本久久精品| 蜜桃视频在线观看一区二区| 国产成人精品一区二区三区在线| av一区二区高清| 午夜国产欧美理论在线播放| 国产精品最新| 宅男在线一区| 国产欧美69| 日韩亚洲在线| 欧美极品中文字幕| 亚洲欧美日韩一区在线观看| 久久精品国产成人一区二区三区| 影音先锋久久| 精品国内亚洲2022精品成人| 免费看黄色91| 成人日韩在线观看| 国产亚洲欧美日韩在线观看一区二区|