『中级篇』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本身是只读的

开始Image的表演

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

  • 启动
vagrant reload
  • 进入
vagrant ssh
sudo service docker restart
sudo docker version
  • 挂个国内的加速器吧
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 .

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

  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下来的

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

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

#4 通过版本号
sudo docker pull bitnami/wordpress:4
#默认的latest
sudo docker pull bitnami/wordpress
  • 进入容器内部
#创建文件
touch test.txt
#执行yum安装
 yum install vim
  • 从容器内部退出,容器也变成了exited

docker的命令分布

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

命令合集

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

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

linux(十三)之磁盘分区、创建文件系统、挂载

前面学习了linux的用户管理 ,感觉是不是linux的多用户多任务的系统感觉十分了解了,但是其实并不然的。你还需要了解更多。接下来给大家分享的是 在vmwar...

25110
来自专栏左瞅瞅,右瞅瞅

SaltStack——配置管理(haproxy)

1.balance roundrobin # 轮询,软负载均衡基本都具备这种算法 2.balance static-rr # 根据权重,建议使用 3.ba...

1563
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和配置NATS

NATS是一种开源高性能消息系统,通常被称为“云的中枢神经系统”。它能够每秒路由数百万条消息,这使其成为连接微服务和物联网(IoT)设备的理想选择。

840
来自专栏Python爬虫与数据挖掘

在vSpere Client上如何克隆虚拟机

这几天小编一直在机房搭建平台,没有时间整理一些知识给大家。前几天小编分享了如何在vSphere Client上创建虚拟机,感兴趣的伙伴可以点击进...

781
来自专栏BeJavaGod

app与后台交互之间的几种安全认证机制

1、HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这...

2704
来自专栏前端黑板报

127.0.0.1 vs 0.0.0.0 vs localhost vs 主机IP

说明:上一篇写完《当你输入URL到页面显示经历了什么--URL到IP地址》之后读了好几本关于网络的书(当然都是跳着读),发现期初想的太简单,还是遗漏了许多,后面...

3429
来自专栏从零开始学自动化测试

Appium+python自动化10-AVD 模拟器

前言 有些小伙伴没android手机,这时候可以在电脑上开个模拟器玩玩 一、模拟器配置 1.双击启动AVD Manager,进入配置界面 ? 2.点Create...

3356
来自专栏JMCui

Linux 学习记录 一(安装、基本文件操作).

Linux distributions主要分为两大系统,一种是RPM方式安装软件的系统,包括Red Hat,Fedora,SuSE等都是这类;一种则是使用De...

2928
来自专栏Linyb极客之路

运维管理之防止"rm -rf /" 误删除

大概懂点linux的程序员都知道“rm -rf /”意味着擦除根路径“/”下挂载的所有内容而无需询问。以前一个主管说过,在你不充分了解某个工具的原理的时候,不要...

684
来自专栏java一日一条

最全面的 DNS 原理入门

DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。

702

扫码关注云+社区