『中级篇』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 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

用Python调用百度OCR接口实例

本文主要针对Python开发者,描述百度文字识别接口服务的相关技术内容。OCR接口提供了自然场景下整图文字检测、定位、识别等功能。文字识别的结果可以用于翻译、搜...

9145
来自专栏深度学习那些事儿

深度学习必备:通过VNC连接ubuntu(linux)工作站

此篇讲解如果通过VNC实现win10电脑操控(ubuntu)linux电脑,只需一个键盘一个鼠标就可以操控两个电脑,实现高效率工作。

6965
来自专栏Kubernetes

TensorFlow on Kubernetes性能瓶颈定位

Author: xidianwangtao@gmail.com 当前性能问题描述 增加worker数,一定范围内能带来较好的性能提升,但是继续增加work...

6487
来自专栏人工智能LeadAI

在NVIDIA Jetson TX2上安装TensorFlow

刷机的目的是把Ubuntu操作系统和JetPack SDK安装到Jetson TX2上。刷机的操作按照官方教程即可,比较容易。这个过程中有一点需要注意:Jets...

3452
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 1 - Hello, TensorFlow!

在学习任何新的编程语言时,我们都会在第一时间完成Hello World,以宣告自己开发环境的完美搭建。TensorFlow也不例外。TensorFlow充分考...

4243
来自专栏Snova云数仓

gpexpand分析

具体包括不限于以下内容: 创建用户名,设置环境变量,创建数据目录,安装greenplum软件包,解压目录路径。

3.4K6
来自专栏企鹅号快讯

Python人工智能之图片识别,Python3一行代码实现图片文字识别

我们以识别诗词为例 下面是我们要识别的图片 ? 先看下效果图 ? 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。 一行代码就能识别图...

6726
来自专栏ml

使用Anaconda搭建TensorFlow-GPU环境

前言:      对于深度学习来说,各种框架torch,caffe,keras,mxnet,tensorflow,pandapanda环境要求各一,如果我们在一...

3K11
来自专栏生信技能树

ATAC-seq实操

本实操完全学习了:给学徒的ATAC-seq数据实战(附上收费视频) 的代码及流程,首先致谢!

8871
来自专栏虚拟化云计算

kvm虚拟机的FT(容错)方案

KVM中的FT(fault tolerance),也叫non-stop service。在有些场景下也被称为虚拟机热备。

5218

扫码关注云+社区

领取腾讯云代金券