『中級(jí)篇』docker Image概述(13)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝!
原文鏈接地址:『中級(jí)篇』docker Image概述(13)

什么是鏡像,鏡像是怎么產(chǎn)生的,通過(guò)這節(jié)的學(xué)習(xí)的Docker container機(jī)制要比虛擬機(jī)的機(jī)制要小巧,原因何在?本節(jié)課程的內(nèi)容是連接12節(jié)的,所以肯定跟12節(jié)的github有關(guān)系:https://github.com/limingios/docker.git

什么是Image

  • 文件和meta data的集合(root filesystem)
  1. 對(duì)于linux系統(tǒng)來(lái)說(shuō)分為:,就是內(nèi)核空間(kernel space)和用戶(hù)空間(user space),內(nèi)核空間linux kernel,就理解成root filesystem
  2. 用戶(hù)空間就是在內(nèi)核上層建立的其實(shí)就是:ubuntu,centos,redhat,
    Debian。
  • 分層的,并且每一層都是可以添加改變的,成為一個(gè)新的Image。例如:先建立個(gè)apache的Image,結(jié)果在apache的Image上邊我有建立的一個(gè)mysql的Image。

  • 不同的Image之前可以共享分層。例如:apache的Image可以跟mysql的Image之間進(jìn)行通信。

  • Image本身是只讀的

開(kāi)始Image的表演

首先啟動(dòng)vagrant,在上一節(jié)創(chuàng)建的虛機(jī)

  • 啟動(dòng)
vagrant reload
  • 進(jìn)入
vagrant ssh
sudo service docker restart
sudo docker version
  • 掛個(gè)國(guó)內(nèi)的加速器吧
sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b81aace9.m.daocloud.io
sudo systemctl restart docker
  • 查看Image
 sudo docker image ls
  • 獲取Image
  1. bulid from Dockerfile
ls
cd labs
cd docker-centos-vim/
ls
pwd
more Dockerfile
sudo service docker restart
sudo docker build -t liming/vim:latest .

這里注意里面一共用了兩步,這個(gè)跟咱們編寫(xiě)的Dockfile有關(guān)系,因?yàn)镈ockfile也就兩行。

  1. Pull from Registry(從倉(cāng)庫(kù)中下載,這個(gè)概念有點(diǎn)像git的方式,其實(shí)docker就是模仿了git的方式,我們可以從https://hub.docker.com/ pull,也可以把的Image push 到https://hub.docker.com/ 中)
 sudo docker pull ubuntu:14.04
 sudo docker image ls
  1. liming/vim 是在centos之上的一個(gè)Image
  2. 因?yàn)镈ockerfile中需要from centos 所以也下了centos Image
  3. ubuntu 剛剛pull下來(lái)的

如果自己安裝一個(gè)centos 和ubuntu 在虛擬機(jī)上也需要幾個(gè)G吧,這里通過(guò)docker 才幾百兆,是不是很省空間。

image.png

注意:從:https://hub.docker.com/ 中不僅僅可以下載官方的Image還可以下載私人的Image 他們的區(qū)別是:官方的名字后面沒(méi)有/,私人的:人名/Image的名稱(chēng)

image.png
#4 通過(guò)版本號(hào)
sudo docker pull bitnami/wordpress:4
#默認(rèn)的latest
sudo docker pull bitnami/wordpress

image.png
  • 進(jìn)入容器內(nèi)部
#創(chuàng)建文件
touch test.txt
#執(zhí)行yum安裝
 yum install vim
  • 從容器內(nèi)部退出,容器也變成了exited

docker的命令分布

  • Management Commands (管理命令)
  • Commands (配合管理的運(yùn)行命令)

命令合集

PS:認(rèn)識(shí)了Image,下次如何創(chuàng)建自己的Image。實(shí)踐中,歡迎大家持續(xù)關(guān)注。

往期精彩
  1. docker導(dǎo)學(xué)(一)
  2. 容器的技術(shù)概述(二)
  3. docker的魅力初體驗(yàn)-5分鐘安裝wordpress不走彎路(三)
  4. docker官網(wǎng)介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過(guò)vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過(guò)vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過(guò)Docker-Machine在阿里云上的使用(11)
  12. docker架構(gòu)和底層技術(shù)(12)
image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容