Docker

三、Image与Container

2020-03-12  本文已影响0人  Suny____

1、image

现有的image都是怎么来的呢?其实image就是通过编译运行Dockerfile所得来的,这也是推荐使用的一种方式。

每个image其实都是如下图这种结构,底层是操作系统的image,在上层不断的添加新的层,最终形成自己想要的image。

image.png

通过docker build 命令可以根据Dockerfile生成新的 image。上面的 Step 1 ~ 6 就是我们在Dockerfile中编写的命令,一个步骤就是一层。

运行自己的容器,就可以访问映射到物理机的端口了。

image.png

可以看到原来的 tomcat 镜像是没有 vim 命令的,我们通过yum install vim安装。结果发现 yum也没有,此时可以通过其他方式进行安装。

image.png

再敲 yum 命令就可以看到已经安装好了


image.png

接下来通过 docker commit myTomcat new-tomcat创建一个新的image

image.png

可以看到通过 commit 方式也可以创建 image,通过这个 image 启动的容器就会有安装好的 vim 命令了

不推荐用 commit 方式创建 image,因为通过这种方式创建的 image 我们完全不知道它是怎么来的。
而通过Dockerfile的方式创建的 image 我们知道它是经过哪些步骤哪些命令从而产生的 image。

2、镜像仓库

​ 我们想要拉取镜像或者推送镜像都需要一个仓库,而docker的镜像仓库有很多,比如官方的仓库、阿里的仓库,还有自己搭建的仓库。

​ 如果要推送镜像到仓库,首先得有一个账户,这块大家自己去注册就好。接下来看如何推送 image 到镜像仓库中。

image.png image.png image.png image.png

3、Image常用操作

4、container

image.png

在上一节中,我们知道 container 是由 image 生成的,而 image 也可以由 container 去形成,这里就不再重复了。

5、 底层技术支持

Container是一种轻量级的虚拟化技术,不用模拟硬件创建虚拟机。

Docker是基于Linux Kernel的Namespace、CGroups、UnionFileSystem等技术封装成的一种自
定义容器格式,从而提供一套虚拟运行环境。

上一篇 下一篇

猜你喜欢

热点阅读