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

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

原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!

原文鏈接地址:『中級篇』docker Image概述(13)

什麼是鏡像,鏡像是怎麼產生的,通過這節的學習的Docker container機制要比虛擬機的機制要小巧,原因何在?本節課程的內容是連接12節的,所以肯定跟12節的github有關係:github.com/limingios/do

什麼是Image

  • 文件和meta data的集合(root filesystem)
  1. 對於linux系統來說分為:,就是內核空間(kernel space)和用戶空間(user space),內核空間linux kernel,就理解成root filesystem
  2. 用戶空間就是在內核上層建立的其實就是:ubuntu,centos,redhat,

    Debian。

  • 分層的,並且每一層都是可以添加改變的,成為一個新的Image。例如:先建立個apache的Image,結果在apache的Image上邊我有建立的一個mysql的Image。
  • 不同的Image之前可以共享分層。例如:apache的Image可以跟mysql的Image之間進行通信。
  • Image本身是只讀的

開始Image的表演

首先啟動vagrant,在上一節創建的虛機

  • 啟動

vagrant reload

  • 進入

vagrant sshsudo service docker restartsudo docker version

  • 掛個國內的加速器吧

sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b81aace9.m.daocloud.iosudo systemctl restart docker

  • 查看Image

sudo docker image ls

  • 獲取Image
  1. bulid from Dockerfile

lscd labscd docker-centos-vim/lspwdmore Dockerfilesudo service docker restartsudo docker build -t liming/vim:latest .

這裡注意裡面一共用了兩步,這個跟咱們編寫的Dockfile有關係,因為Dockfile也就兩行。

  1. Pull from Registry(從倉庫中下載,這個概念有點像git的方式,其實docker就是模仿了git的方式,我們可以從hub.docker.com/ pull,也可以把的Image push 到hub.docker.com/ 中)

sudo docker pull ubuntu:14.04 sudo docker image ls

  1. liming/vim 是在centos之上的一個Image
  2. 因為Dockerfile中需要from centos 所以也下了centos Image
  3. ubuntu 剛剛pull下來的

如果自己安裝一個centos 和ubuntu 在虛擬機上也需要幾個G吧,這裡通過docker 才幾百兆,是不是很省空間。

image.png

注意:從:hub.docker.com/ 中不僅僅可以下載官方的Image還可以下載私人的Image 他們的區別是:官方的名字後面沒有/,私人的:人名/Image的名稱

image.png

#4 通過版本號sudo docker pull bitnami/wordpress:4#默認的latestsudo docker pull bitnami/wordpress

image.png

  • 進入容器內部

#創建文件touch test.txt#執行yum安裝 yum install vim

  • 從容器內部退出,容器也變成了exited

docker的命令分布

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

命令合集

PS:認識了Image,下次如何創建自己的Image。實踐中,歡迎大家持續關注。

往期精彩

  1. docker導學(一)
  2. 容器的技術概述(二)
  3. docker的魅力初體驗-5分鐘安裝wordpress不走彎路(三)
  4. docker官網介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過vagrant安裝虛擬機(七)
  8. 如何在window上通過vagrant安裝虛擬機(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過Docker-Machine在阿里雲上的使用(11)
  12. docker架構和底層技術(12)


推薦閱讀:

2018年會是容器技術真正的元年
Kubernetes scheduler V2草案
AWS 中國區部署 Kubernetes 1.9.3
Kubernetes中文指南/雲原生應用架構實踐手冊v1.3發布
如何使用 Buildah 構建容器鏡像

TAG:Docker | 科技 | Kubernetes |