Docker的image究竟长什么样子呢?我们从docker pull从hub.docker.com上拉去image的时候,我们只看到它哗哗啦啦的从网上下载了一个image。然后
用docker images查看,看到下面的样子:
REPOSITORYTAG IMAGE ID CREATED SIZEjava8d23bdf5b1b1b2years ago 643MB
这样子我们看不出images究竟存放在何方,也看不出什么样子。
下面我们用docker save的方式来查看:
用docker save来看看image是怎么样的?
输入命令:
dockersavejava:8>jdk.zip
我们打开jdk.zip文件,可以看到下面的样子:
我们看到每个sha256哈希值的目录下面有json,VERSION和layer.tar文件,我们对layer.tar进行解压,可以看到linux系统对目录结构。
打开layer.tar的文件夹归档,可以看到里面已经安装了jdk:
这样我们就看到java:8已经安装好了。
接下来问题:docker究竟是什么?
官方的定义才是正确的,其他的都是东抄西抄的,曲解了docker的原意。
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
是一种打包方式,包含代码和所有依赖。
这样一起打包之后,我们就很方便的从一个环境到另外一个环境,只要系统安装有Linux64bit的环境,就可以运行。
image是一个轻量、独立、可执行的package。包含代码、运行时、系统工具、系统库和设置。
Image弄好了,要运行才有用呀
Image弄好了,要运行才有用呀,接下来我们去运行image,这个image运行的结果叫做容器Container。 。。要运行起来呀,接下来才聊聊什么叫容器。。。
网友评论