『中级篇』docker Image概述(13)
2018-08-25 09:18:15
李明
  • 访问次数: 382
  • 注册日期: 2018-07-09
  • 最后登录: 2022-11-17

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』docker Image概述(13)

什么是镜像,镜像是怎么产生的,通过这节的学习的Docker container机制要比虚拟机的机制要小巧,原因何在?本节课程的内容是连接12节的,所以肯定跟12节的github有关系: https://github.com/limingios/docker.git

什么是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本身是只读的

1240

开始Image的表演

首先启动vagrant,在上一节创建的虚机

  • 启动

vagrant reload

1240

  • 进入

vagrant ssh
sudo service docker restart
sudo docker version

1240

  • 挂个国内的加速器吧

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

1240

  • 查看Image

 sudo docker image ls

1240

  • 获取Image

  1. bulid from Dockerfile

lscd labscd docker-centos-vim/
lspwdmore Dockerfile
sudo service docker restart
sudo docker build -t liming/vim:latest .

1240

1240

这里注意里面一共用了两步,这个跟咱们编写的Dockfile有关系,因为Dockfile也就两行。

1240

1240

  1. Pull from Registry(从仓库中下载,这个概念有点像git的方式,其实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之上的一个Image

  2. 因为Dockerfile中需要from centos 所以也下了centos Image

  3. ubuntu 刚刚pull下来的

1240

如果自己安装一个centos 和ubuntu 在虚拟机上也需要几个G吧,这里通过docker 才几百兆,是不是很省空间。

image.png

image.png

注意:从: https://hub.docker.com/ 中不仅仅可以下载官方的Image还可以下载私人的Image 他们的区别是:官方的名字后面没有/,私人的:人名/Image的名称

image.png

image.png

#4 通过版本号sudo docker pull bitnami/wordpress:4#默认的latestsudo docker pull bitnami/wordpress

1240

1240

image.png

image.png

1240

1240

  • 进入容器内部

#创建文件touch test.txt#执行yum安装
 yum install vim

1240

  • 从容器内部退出,容器也变成了exited

1240

docker的命令分布

  • Management Commands (管理命令)

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

1240

1240

命令合集

1240

PS:认识了Image,下次如何创建自己的Image。实践中,欢迎大家持续关注。