当前位置: 首页 > news >正文

导航网站前端模板下载网站建设的教学设计

导航网站前端模板下载,网站建设的教学设计,自己建网站做外贸,桂林网站制作哪家好docker支持多种graphDriver#xff0c;包括vfs、devicemapper、overlay、overlay2、aufs等等#xff0c;其中最常用的就是aufs了#xff0c;但随着linux内核3.18把overlay纳入其中#xff0c;overlay的地位变得更重#xff0c;最近也在自己的虚拟机上用overlay2作为docker…docker支持多种graphDriver包括vfs、devicemapper、overlay、overlay2、aufs等等其中最常用的就是aufs了但随着linux内核3.18把overlay纳入其中overlay的地位变得更重最近也在自己的虚拟机上用overlay2作为docker存储驱动实验了一番下面来做一个简单的笔记和总结。 docker默认的存储目录是/var/lib/docker下面我们简单打印一下这个目录 drwx------. 2 root root 24 Mar 28 07:13 builder drwx------. 4 root root 92 Mar 28 07:13 buildkit drwx------. 6 root root 4096 Mar 29 10:25 containers drwx------. 3 root root 22 Mar 28 07:13 image drwxr-x---. 3 root root 19 Mar 28 07:13 network drwx------. 17 root root 4096 Mar 30 14:32 overlay2 drwx------. 4 root root 32 Mar 28 07:13 plugins drwx------. 2 root root 6 Mar 30 14:32 runtimes drwx------. 2 root root 6 Mar 28 07:13 swarm drwx------. 2 root root 6 Mar 30 14:32 tmp drwx------. 2 root root 6 Mar 28 07:13 trust drwx------. 2 root root 25 Mar 28 07:13 volumes 在这里我们只关心image和overlay2就足够了。做这个实验之前我们应该先启动一个容器在这里使用nginx作为实验: [root10 docker]# docker run -d nginx 86b5733e54c7de5ef20cfb5574adedea6cbe11334517309badfbe7d313631310 [root10 docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 86b5733e54c7 nginx nginx -g daemon of… 4 seconds ago Up 3 seconds 80/tcp practical_vaughan 可以看到新启动的nginx容器的id是86b5733e54c7我们继续往下看。 上面说了我们只需要关心/var/lib/docker/image和/var/lib/docker/overlay2可以先到/var/lib/docker/image打印一下 [root10 image]# ll total 0 drwx------. 5 root root 81 Mar 28 10:00 overlay2 我们只能看到overlay2这个目录想必聪明的你也猜到了docker在/var/lib/docker/image目录下按每个存储驱动的名字创建一个目录如这里的overlay2。接下来使用tree命令浏览一下这个目录 [root10 image]# tree -L 2 overlay2/ overlay2/ |-- distribution | |-- diffid-by-digest | -- v2metadata-by-diffid |-- imagedb | |-- content | -- metadata |-- layerdb | |-- mounts | |-- sha256 | -- tmp -- repositories.json 这里的关键地方是imagedb和layerdb目录看这个目录名字很明显就是专门用来存储元数据的地方那为什么区分image和layer呢因为在docker中image是由多个layer组合而成的换句话就是layer是一个共享的层可能有多个image会指向某个layer。 那如何才能确认image包含了哪些layer呢答案就在imagedb这个目录中去找。比如上面启动的nginx容器我们可以先找到这个容器对应的镜像 [root10 sha256]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ... nginx latest 2bcb04bdb83f 3 days ago 109MB ... 可以看到imageID是2bcb04bdb83f再次记住这个id我们打印/var/lib/docker/image/overlay2/imagedb/content/sha256这个目录  [root10 sha256]# ll total 20 -rw-------. 1 root root 6025 Mar 28 09:01 2bcb04bdb83f7c5dc30f0edaca1609a716bda1c7d2244d4f5fbbdfef33da366c -rw-------. 1 root root 1512 Mar 28 10:00 6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f -rw-------. 1 root root 1497 Mar 28 08:51 d8233ab899d419c58cf3634c0df54ff5d8acc28f8173f09c21df4a07229e1205 -rw-------. 1 root root 1686 Mar 28 10:00 eb426204290971fb3c7cfbf25e34308233b75080b6b3735ba5295056d915a998 第一行的2bcb04bdb83f7c5dc30f0edaca1609a716bda1c7d2244d4f5fbbdfef33da366c正是记录我们nginx镜像元数据的文件接下来cat一下这个文件得到一个长长的json ...... rootfs:{type:layers,diff_ids: [ sha256:5dacd731af1b0386ead06c8b1feff9f65d9e0bdfec032d2cd0bc03690698feda, sha256:dd0338cdfab32cdddd6c30efe8c89d0229d9f939e2bb736fbb0a52f27c2b0ee9, sha256:7e274c0effe81c48f9337879b058c729c33bd0199e28e2c55093d79398f5e8c0 ] }} ...... 只展示最关键的一部分也就是rootfs。可以看到rootfs的diff_ids是一个包含了3个元素的数组其实这3个元素正是组成nginx镜像的3个layerID从上往下看就是底层到顶层也就是说5dacd731af1b0386ead06c8b...是image的最底层。既然得到了组成这个image的所有layerID那么我们就可以带着这些layerID去寻找对应的layer了。 接下来我们返回到上一层的layerdb中先打印一下这个目录 [root10 layerdb]# ll total 4 drwxr-xr-x. 3 root root 78 Mar 30 14:55 mounts drwxr-xr-x. 8 root root 4096 Mar 28 10:00 sha256 drwxr-xr-x. 2 root root 6 Mar 28 10:00 tmp 在这里我们只管mounts和sha256两个目录再打印一下sha256目录:   [root10 sha256]# ll /var/lib/docker/image/overlay2/layerdb/sha256/ total 0 drwx------. 2 root root 85 Mar 28 09:01 166d13b0f0cb542034a2aef1c034ee2271e1d6aaee4490f749e72d1c04449c5b drwx------. 2 root root 71 Mar 28 10:00 3fc64803ca2de7279269048fe2b8b3c73d4536448c87c32375b2639ac168a48b drwx------. 2 root root 71 Mar 28 09:01 5dacd731af1b0386ead06c8b1feff9f65d9e0bdfec032d2cd0bc03690698feda drwx------. 2 root root 85 Mar 28 10:00 95c536e393c4ffb38d29829c8ed21ae788832580a77436f15907bf646fe13387 drwx------. 2 root root 71 Mar 28 08:51 adab5d09ba79ecf30d3a5af58394b23a447eda7ffffe16c500ddc5ccb4c0222f drwx------. 2 root root 85 Mar 28 09:01 dfce9ec5eeabad339cf90fce93b20f179926d5819359141e49e0006a52c066ca 在这里我们仅仅发现5dacd731af1b038..这个最底层的layer那么剩余两个layer为什么会没有呢那是因为docker使用了chainID的方式去保存这些layer简单来说就是chainIDsha256sum(H(chainID) diffid)也就是5dacd731af1b038..的上一层的sha256 id是 echo -n sha256:5dacd731af1b0386ead06c8b1feff9f65d9e0bdfec032d2cd0bc03690698feda sha256:dd0338cdfab32cdddd6c30efe8c89d0229d9f939e2bb736fbb0a52f27c2b0ee9 | sha256sum - 166d13b0f0cb542034a2aef1c034ee2271e1d6aaee4490f749e72d1c04449c5b - 这个时候你能看到166d13b...这个layer层的目录了吧依次类推我们就能找出所有的layerID的组合。 但是上面我们也说了/var/lib/docker/image/overlay2/layerdb存的只是元数据那么真实的rootfs到底存在哪里呢其中cache-id就是我们关键所在了。我们打印一下/var/lib/docker/image/overlay2/layerdb/sha256/5dacd731af1b0386ead06c8b1feff9f65d9e0bdfec032d2cd0bc03690698feda/cache-id: [root10 5dacd731af1b0386ead06c8b1feff9f65d9e0bdfec032d2cd0bc03690698feda]# cat cache-id dffe31c1db6055910b3cd49366a2989d9cd2f3460844437b2190de44807095fa[ 没错这个id就是对应/var/lib/docker/overlay2/dffe31c1db6055910b3cd49366a2989d9cd2f3460844437b2190de44807095fa。因此以此类推更高一层的layer对应的cache-id也能找到对应的rootfs当这些rootfs的diff目录通过联合挂载的方式挂载到某个目录就能完整整个容器需要的rootfs了。
http://www.w-s-a.com/news/927712/

相关文章:

  • 阿里云上传的网站 服务器路径试用网站开发
  • 做美食原创视频网站网站开发要多钱
  • 怎么做网站作业哪个网站可兼职做logo
  • asp网站搭建教程做网站备案完成之后需要干什么
  • 无锡外贸网站开发兰州网站在哪备案
  • 广州百度网站建设公司天津建设电工证查询网站
  • 网站建设与管理行业发展情况制作网页动态效果
  • wordpress 特色缩略图临沂seo全网营销
  • 隆昌市住房和城乡建设厅网站做网站用什么字体比较好
  • 惠州网站建设设计18款未成年禁用软件ap入口
  • 班级网站 建设目标如何做好网站建设内容的策划书
  • 网站建设与网页设计期末考试清博舆情系统
  • plone网站开发商城网站建设怎么收费
  • 旺旺号查询网站怎么做公司门户网站项目模版
  • 网站免费一站二站四站上海网站怎么备案表
  • 漫画交流网站怎么做开发微信小程序公司
  • 网站建设马鞍山怎么建立局域网网站
  • 开源 网站开发框架哪些网站可以做图片链接
  • 大良制作网站网站设计的能力要求
  • 前端设计除了做网站还能做什么江苏高校品牌专业建设工程网站
  • 做二手房产网站多少钱用户权限配置wordpress
  • 做亚马逊网站需要租办公室吗小型企业网站模板
  • 网站全屏视频怎么做个人公司注册网上申请
  • 如何k掉别人的网站搜索引擎优化与关键词的关系
  • 百度推广 网站吸引力做网站开发的薪酬怎么样
  • js网站开发工具软件营销方案
  • 做网站的天空网云南省建设厅网站怎么进不去
  • 天津网站排名提升网络营销推广策略包括哪些
  • 网站建设与管理 ppt网站打开是别人的
  • 图片网站怎么做排名怎么分析一个网站seo