在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Docker Image怎么使用

133次阅读
没有评论

共计 3702 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要介绍“Docker Image 怎么使用”,在日常操作中,相信很多人在 Docker Image 怎么使用问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker Image 怎么使用”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

Layer

镜像是由 layers 构成的。Image Layer 是一个通用的概念,可以指代下面:

以 JSON 形式描述的元数据

以 layer 描述的文件系统的改变

Image JSON

每一个 layer 都有一个 JSON 数据结构来描述这个 Image 的基本信息,例如镜像创建日期、作者、父镜像 ID 等。

Image Filesystem Changeset

每一个 layer 都会有对它相对于父 layer 增、删、改的文件的一个存档,使用诸如 AUFS 等联合挂载文件系统,可以将一系列的 image layer 以单一的文件系统的形式呈现出来。

Image Parent

大多数 layer 的元数据结构包含一个 parent 字段用来指定它的父镜像。一个 Image 包含一个单独的 JSON 元数据文件以及一系列的相对于父镜像的文件系统的改变。

Image JSON Description

{ 
  id :  a9561eb1b190625c9adb5a9513e72c4dedafc1cb2d4c5236c9a6957ec7dfd5a9 ,
  parent :  c6e3cedcda2e3982a1a6760e178355e8e65f7b80e4e5248743fa3549d284e024 ,
  checksum :  tarsum.v1+sha256:e58fcf7418d2390dec8e8fb69d88c06ec07039d651fedc3aa72af9972e7d046b ,
  created :  2014-10-13T21:19:18.674353812Z ,
  author :  Alyssa P. Hacker  [email protected] gt ,
  architecture :  amd64 ,
  os :  linux ,
  Size : 271828,
  config : {
  User :  alice ,
  Memory : 2048,
  MemorySwap : 4096,
  CpuShares : 8,
  ExposedPorts : { 
  8080/tcp : {}
 },
  Env : [ 
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ,
  FOO=docker_is_a_really ,
  BAR=great_tool_you_know 
 ],
  Entrypoint : [
  /bin/my-app-binary 
 ],
  Cmd : [
  --foreground ,
  --config ,
  /etc/my-app.d/default.cfg 
 ],
  Volumes : {  /var/job-result-data : {},
  /var/log/my-app-logs : {},
 },
  WorkingDir :  /home/alice ,
 }
}

architecture string

该镜像的二进制文件所运行的主机的架构。

os string

该镜像所运行在的操作系统的类型。

ExposedPorts struct

运行该镜像的容器所暴露出来的端口集合。

例如:

{  8080 : {},
  53/udp : {},
  2356/tcp : {}}

健可以为以下类型:

port/tcp 
 port/udp 
 port

其中。默认的协议是 tcp 协议。

Entrypoint array of strings

容器开始运行的时候,所要执行的一系列命令的集合。

创建 Image Filesystem Changeset

首先创建一个以 Image ID 命名的空目录,作为该镜像的根文件系统。以镜像 c3167915dc9d 为例:

c3167915dc9d/

接着创建相应的目录及文件:

c3167915dc9d/
 etc/
 my-app-config
 bin/
 my-app-binary
 my-app-tools

c3167915dc9d 目录会被作为以下文件的打包存档的入口。

etc/my-app-config
bin/my-app-binary
bin/my-app-tools

一旦在镜像的文件系统上做出改变(增、删、改),会创建一个新的目录,以一个新的 ID 对这个目录命名,比如 f60c56784b83,并且使用父镜像的根文件系统进行快照对其初始化。这样,该目录和原来的目录 c3167915dc9d 具有完全相同的内容。如下所示:

f60c56784b83/
 etc/
 my-app-config
 bin/
 my-app-binary
 my-app-tools

接下来的修改是要增加一个配置目录 /etc/my-app.d,该目录包含一个默认的配置文件。同样,对目录 my-app-tools 也会做出改变以处理配置布局的改变。然后,目录 f60c56784b83 如下所示:

f60c56784b83/
 etc/
 my-app.d/
 default.cfg
 bin/
 my-app-binary
 my-app-tools

上面反映了 /etc/my-app-config 的删除以及 /etc/my-app.d/default.cfg 的创建。/bin/my-app-tools 也会被新修改的所代替。在将该目录提交给 changeset 之前,由于它有父镜像,首先会将它与父镜像的目录树 f60c56784b83 进行比较,找出所有修改的文件。changeset 如下所示:

Added: /etc/my-app.d/default.cfg
Modified: /bin/my-app-tools
Deleted: /etc/my-app-config

一个只包含该 changeset 的打包存档被创建。文件名以  .wh. 作为前缀   的文件是   whiteout 文件,需要注意的是:不允许创建包含   whiteout 文件的镜像根文件系统。对 f60c56784b83 的打包存档如下所示:

/etc/my-app.d/default.cfg
/bin/my-app-tools
/etc/.wh.my-app-config

Combined Image JSON + Filesystem Changeset Format

包含 Image 完整信息的结构如下所示:

repository names/tags

all image layer JSON files

all tar archives of each layer filesystem changesets

以 library/busybox 为例:

.
├── 5785b62b697b99a5af6cd5d0aabc804d5748abbb6d3d07da5d1d3795f2dcc83e
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── a7b8b41220991bfc754d7ad445ad27b7f272ab8b4a2c175b9512b97471d02a8a
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── a936027c5ca8bf8f517923169a233e391cbb38469a75de8383b5228dc2d26ceb
│ ├── VERSION
│ ├── json
│ └── layer.tar
├── f60c56784b832dd990022afc120b8136ab3da9528094752ae13fe63a2d28dc8c
│ ├── VERSION
│ ├── json
│ └── layer.tar
└── repositories

对于一个完整 Image,其包含一个或多个以 Layer ID 命名的目录,每一个目录包含三个文件:

VERSION – The schema version of the json file

json – The JSON metadata for an image layer

layer.tar – The Tar archive of the filesystem changeset for an image layer.

repositories 是一个 JSON 文件,用来描述镜像的 name 和 tag。

Loading an Image Filesystem Changeset

1、根据 Image 的父 ID 找到根祖先,即没有父 ID 的的 Image。

2、对于每一个 image layer,从根目录开始,从上往下,提取出每一个 layer 的文件系统 changeset archive 作为后面容器的根文件系统。

        提取出每一个存档的内容。

  重新遍历目录树,删除所有以  .wh. 作为前缀的文件。

到此,关于“Docker Image 怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3702字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 永久免费看a片无码网站十九 | uuzyz噜噜资源站 | 亚洲精品精华液一区二区 | 欧美一级毛片一级毛片 | 国产一区精品在线观看 | 亚洲国产精品无码久久九九大片 | 国产一级特黄 | 黄片毛片免费在线观看 | 久草视频观看 | 亚州一区二区 | 成年女人18级毛片毛片免费 | 成人偷拍自拍 | 天天操综合网 | 欧洲精品免费一区二区三区 | 久久久久免费精品国产 | 日产精品久久久久久久性色 | 天堂网在线最新版www中文网 | 久久久久免费视频 | 久久99精品久久久久久野外 | 免费成人高清视频 | 老鲁夜夜老鲁 | 精品视频一区二区三区在线观看 | 亚洲人成电影在线播放 | 草草影院发布页 | 全黄激性性视频 | 亚洲欧美日韩综合久久久 | 久久久久国色av免费看 | 玖玖爱zh综合伊人久久 | 欧美日韩中文一区二区三区 | 被黑人伦流澡到高潮hnp动漫 | 香蕉久久夜色精品升级完成 | 午夜视频免费在线播放 | 熟妇人妻av中文字幕老熟妇 | 九九精品国产99精品 | 精品国产美女 | 欧美日韩不卡合集视频 | 我想看一级黄色毛片 | 中国欧美日韩一区二区三区 | 日本免费视频在在线观看黄 | 成在线人永久免费播放视频 | 久久久久亚洲av成人网人人网站 |