鏡像是一種輕量級、可執行的獨立軟體包,用來打包軟體運行環境和基于運行環境開發的軟體,它包含運行某個軟體所需的所有內容,包括代碼、運行時、庫、環境變數和組態檔,
1.UnionFS(聯合檔案系統)

2.Docker鏡像加載原理

3.分層的鏡像

4.為什么使用分層結構
最大的一個好處就是 - 共享資源
比如:有多個鏡像都從相同的 base 鏡像構建而來,那么宿主機只需在磁盤上保存一份base鏡像,同時記憶體中也只需加載一份 base 鏡像,就可以為所有容器服務了,而且鏡像的每一層都可以被共享,
5.Docker鏡像特點
Docker鏡像都是只讀的當容器啟動時,一個新的可寫層被加載到鏡像的頂部,這一層通常被稱作“容器層”,“容器層”之下的都叫“鏡像層”,
6.docker commit
語法:docker commit -m=“提交的描述資訊” -a=“作者” 容器ID 要創建的目標鏡像名:[標簽名]
docker commit提交容器副本使之成為一個新的鏡像,
[1].運行tomcat
從Hub上下載tomcat鏡像到本地并成功運行.因為我下載的是centos6.8,所以為了兼容性我下載tomcat7.0

|
[root@pluto ~]# docker pull tomcat:7.0.70-jre7 [root@pluto ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE nginx latest 9fcafc113f95 3 days ago 132.6 MB centos latest 375e2d4d2a24 7 days ago 215.1 MB hello-world latest fd74c3615f76 7 months ago 13.34 kB centos 6.8 efa3cf7ee1f9 17 months ago 194.5 MB tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB [root@pluto ~]# docker run -it -p 8888:8080 dca86ad0bb53 [root@pluto ~]# docker run -it -P dca86ad0bb53 |


[2].洗掉tomcat檔案
故意洗掉上一步鏡像生產tomcat容器的檔案
|
[root@pluto apache-tomcat-7.0.70]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f03c4ec4827d dca86ad0bb53 "catalina.sh run" 5 minutes ago Up 5 minutes 0.0.0.0:32768->8080/tcp grave_torvalds 17c2ee9ceeb5 centos:6.8 "/bin/bash" 44 minutes ago Up 44 minutes high_banach [root@pluto apache-tomcat-7.0.70]# docker exec -it f03c4ec4827d /bin/bash
root@f03c4ec4827d:/usr/local/tomcat/webapps# pwd /usr/local/tomcat/webapps root@f03c4ec4827d:/usr/local/tomcat/webapps# rm -rf docs |

[3].創建新鏡像
即當前的tomcat運行實體是一個沒有檔案內容的容器,以它為模板commit一個沒有doc的tomcat新鏡像atguigu/tomcat02
|
[root@pluto ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB
[root@pluto ~]# docker commit -a "pluto" -m="tomcat remove docs" f03c4ec4827d pluto/tomcat:7.0.70-pluto f77d4ea48ed4da175e94b18b2e7b6f92bf9dc5afbd3b528ffd5d8858f032202f
[root@pluto ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE pluto/tomcat 7.0.70-pluto f77d4ea48ed4 9 seconds ago 357.9 MB tomcat 7.0.70-jre7 dca86ad0bb53 3 years ago 357.8 MB
[root@pluto ~]# docker run -it -p 8888:8080 pluto/tomcat:7.0.70-pluto |

[4].對比


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/186554.html
標籤:其他
上一篇:1024 程式員節即將來臨!各位程式員小可愛,你們準備好了嗎?
下一篇:資料科學家的Pytest
