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

企业网站建设公司注意哪些问题网站开发哪个城市发展好

企业网站建设公司注意哪些问题,网站开发哪个城市发展好,网站源码防盗原理,新手用什么程序建网站Docker 详解#xff08;三#xff09;#xff1a;Docker 镜像管理基础 1.镜像的概念 镜像可以理解为应用程序的集装箱#xff0c;而 Docker 用来装卸集装箱。 Docker 镜像含有启动容器所需要的文件系统及其内容#xff0c;因此#xff0c;其用于创建并启动容器。 Dock… Docker 详解三Docker 镜像管理基础 1.镜像的概念 镜像可以理解为应用程序的集装箱而 Docker 用来装卸集装箱。 Docker 镜像含有启动容器所需要的文件系统及其内容因此其用于创建并启动容器。 Docker 镜像采用分层构建机制最底层为 bootfs其上为 rootfs。 bootfs用于系统引导的文件系统包括 bootloader 和 kernel容器启动完成后会被卸载以节约内存资源。rootfs位于 bootfs 之上表现为 Docker 容器的根文件系统。 传统模式中系统启动之时内核挂载 rootfs 会首先将其挂载为 只读 模式完整性自检完成后将其重新挂载为 读写 模式。Docker中rootfs 由内核挂载为 只读 模式而后通过 联合挂载 技术额外挂载一个 可写层。 注意当删除容器时这个容器自有的 可写层 会一起被删除。 2.Docker 镜像层 位于下层的镜像称为 父镜像parent image最底层的称为 基础镜像base image最上层为 可读写层其下的均为 只读层。 3.Docker 存储驱动 Docker 提供了多种存储驱动来实现不同的方式存储镜像下面是常用的几种存储驱动 AUFSOverlayFSDevicemapperBtrfsVFS 3.1 AUFS AUFSAnotherUnionFS是一种 Union FS是文件级的存储驱动。AUFS 是一个能透明覆盖一个或多个现有文件系统的层状文件系统把多层合并成文件系统的单层表示。简单来说就是支持将不同目录挂载到同一个虚拟文件系统下的文件系统。这种文件系统可以一层一层地叠加修改文件。无论底下有多少层都是只读的只有最上层的文件系统是可写的。当需要修改一个文件时AUFS 创建该文件的一个副本使用 CoW 将文件从只读层复制到可写层进行修改结果也保存在可写层。在 Docker 中底下的只读层就是 Image可写层就是 Container。 3.2 OverlayFS Overlay 是 Linux 内核 3.18 3.18 3.18 后支持的也是一种 Union FS和 AUFS 的多层不同的是 Overlay 只有两层一个 upper 文件系统和一个 lower 文件系统分别代表 Docker 的镜像层和容器层。当需要修改一个文件时使用 CoW 将文件从只读的 lower 复制到可写的 upper 进行修改结果也保存在 upper 层。在 Docker 中底下的只读层就是 Image可写层就是 Container。目前最新的 OverlayFS 为 Overlay2。 3.3 DeviceMapper Device Mapper 是 Linux 内核 2.6.9 2.6.9 2.6.9 后支持的提供的一种从逻辑设备到物理设备的映射框架机制在该机制下用户可以很方便的根据自己的需要制定实现存储资源的管理策略。AUFS 和 OverlayFS 都是文件级存储而 Device Mapper 是块级存储所有的操作都是直接对块进行操作而不是文件。Device Mapper 驱动会先在块设备上创建一个资源池然后在资源池上创建一个带有文件系统的基本设备所有镜像都是这个基本设备的快照而容器则是镜像的快照。所以在容器里看到文件系统是资源池上基本设备的文件系统的快照并没有为容器分配空间。当要写入一个新文件时在容器的镜像内为其分配新的块并写入数据这个叫 用时分配。当要修改已有文件时再使用 CoW 为容器快照分配块空间将要修改的数据复制到在容器快照中新的块里再进行修改。 4.Docker Registry 启动容器时Docker daemon 会试图从本地获取相关的镜像本地镜像不存在时其将从 Registry 中下载该镜像并保存到本地。 Registry 用于保存 Docker 镜像包括镜像的层次结构和元数据。用户可以自建 Registry亦可使用官方的 Docker Hub。 Docker Registry 的分类 Sponsor Registry第三方的 Registry供客户和 Docker 社区使用。Mirror Registry第三方的 Registry只让客户使用。Vendor Registry由发布 Docker 镜像的供应商提供的 Registry。Private Registry通过设有防火墙和额外的安全层的私有实体提供的 Registry。 Docker Registry 的组成 Repository 由某特定的 Docker 镜像的所有迭代版本组成的镜像仓库。一个 Registry 中可以存在多个 Repository。Repository 可分为 顶层仓库 和 用户仓库。用户仓库名称格式为 “用户名/仓库名”。每个仓库可包含多个 Tag标签每个标签对应一个镜像。 Index 维护用户帐户、镜像的检验以及公共命名空间的信息。相当于为 Registry 提供了一个完成用户认证等功能的检索接口。 Docker Registry 中的镜像通常由开发人员制作而后推送至 公共 或 私有 Registry上保存供其他人员使用例如部署到生产环境。 5.Docker 镜像的制作 多数情况下我们做镜像是基于别人已存在的某个基础镜像来实现的我们把它称为 Base Image。比如一个纯净版的最小化的 centos、ubuntu 或 debian。 镜像的生成途径 Dockerfile基于容器制作Docker Hub automated builds 5.1 基于容器制作镜像 Create a new image from container’s changes Usage通过一个容器来新建一个镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]OptionsDefaultDescription-a--author-Author (e.g., “John Hannibal Smith hannibala-team.com”)-c--change list-Apply Dockerfile instruction to the created image-m--message string-Commit message-p--pausetruePause container during commit 下载 busybox 镜像使用 docker pull 命令。 [rootwang ~]# docker pull busybox [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB在镜像 busybox 中 创建并运行 一个叫 tests 的容器并使用交互模式进行编辑。 --name为容器指定一个名称。-i以交互模式运行容器通常于 -t 一起使用。-t为容器重新分配一个伪输入终端通常于 -i 一起使用。 [rootwang ~]# docker run --name tests -it busybox / # ls bin etc proc sys usr dev home root tmp var / # mkdir /data / # echo hello world /data/index.html / # cat data/index.html hello world在创建镜像时我们不能关闭容器必须使其处于运行状态所以我们必须要 另起一个终端然后执行。 docker commit -p ${boolean} ${id|name}。-p 表示在 commit 时将容器暂停默认为 true。 [rootwang ~]# docker commit -p tests sha256:cf9069c773f714266dceb1a676d2149c0eb3486210b16098064a7e47d144e93d [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE none none cf9069c773f7 12 seconds ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB更改镜像容器名称镜像有名称时为复制没名称时为剪切。 [rootwang ~]# docker tag cf9069c773f7 web:v0.1 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE web v0.1 cf9069c773f7 2 minutes ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB[rootwang ~]# docker tag web:v0.1 wangming111/web:v0.2 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE web v0.1 cf9069c773f7 5 minutes ago 1.23MB wangming111/web v0.2 cf9069c773f7 5 minutes ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB登入 Docker Hub 账号 [rootwang ~]# docker login Login with your Docker ID to push and pull images from Docker Hub. If you dont have a Docker ID, head over to https://hub.docker.com to create one. Username: wangming111 Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded[rootwang ~]# docker push wangming111/web:v0.2 The push refers to repository [docker.io/wangming123/web] def2306acc5a: Retrying in 1 second 0064d0478d00: Preparing denied: requested access to the resource is denied上传镜像 [rootwang ~]# docker push wangming111/web:v0.2 The push refers to repository [docker.io/wangming111/web] def2306acc5a: Pushed 0064d0478d00: Pushed v0.2: digest: sha256:ce8bd8180ce19ff284885d996201f7f923232f23ff2de936e90e432aa40bfe80 size: 734删除镜像 [rootwang ~]# docker rmi wangming111/web:v0.2 Untagged: wangming111/web:v0.2 Untagged: wangming111/websha256:ce8bd8180ce19ff284885d996201f7f923232f23ff2de936e90e432aa40bfe80 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE web v0.1 cf9069c773f7 38 minutes ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB下载镜像 [rootwang ~]# docker pull wangming111/web:v0.2 v0.2: Pulling from wangming111/web Digest: sha256:ce8bd8180ce19ff284885d996201f7f923232f23ff2de936e90e432aa40bfe80 Status: Downloaded newer image for wangming111/web:v0.2 docker.io/wangming111/web:v0.2 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE web v0.1 cf9069c773f7 39 minutes ago 1.23MB wangming111/web v0.2 cf9069c773f7 39 minutes ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB查看下载镜像的内容是否一致 [rootwang ~]# docker run -it wangming111/web:v0.2 / # ls bin dev home root tmp var data etc proc sys usr / # cat data/index.html hello world / #创建 httpd 镜像并设置为默认进程-a 作者信息-c 修改默认启动命令/bin/httpd 为启动进程-f 是不让它在后台运行-h 指定目录。 docker run -it --rm 命令可以轻松快速地启动和停止容器。由于容器是轻量级的启动速度非常快可以在几秒钟内启动一个新的容器。而当容器不再使用时rm 参数也能够快速地清除该容器避免垃圾堆积当用户退出终端时容器会被立即删除。docker ps 用于查看 Docker 服务器中容器状态运行 / 暂停 / 停止。 [rootwang ~]# docker run -it --rm httpd [rootwang ~]# docker commit -a wangming111.com -c CMD [/bin/httpd,-f,-h,/data] -p 8e5929feae8d wangming111/web:v0.3 sha256:e102ed55833191216045bd6425c9e7981eb361443a883af4e65b8e9fc29c41e2 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wangming111/web v0.3 e102ed558331 23 seconds ago 1.23MB web v0.1 cf9069c773f7 About an hour ago 1.23MB wangming111/web v0.2 cf9069c773f7 About an hour ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB [rootwang ~]# docker push wangming111/web:v0.3 The push refers to repository [docker.io/wangming111/web] 877b56cdb8c4: Pushed def2306acc5a: Layer already exists 0064d0478d00: Layer already exists v0.3: digest: sha256:37a806e1b51abe84477a525dbfe4cb7f702fcbb16bcb103dbdf1ed57cfcf14e8 size: 941 [rootwang ~]# docker run -it --rm wangming111/web:v0.3 [rootwang ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 08dda626edb1 wangming111/web:v0.3 /bin/httpd -f -h /d… 3 minutes ago Up 3 minutes stoic_elion5.2 镜像的导入与导出 假如有 2 2 2 台主机我们在主机 1 1 1 上做了一个镜像主机 2 2 2 想用这个镜像怎么办呢 我们可以在主机 1 1 1上 push 镜像到镜像仓库中然后在主机 2 2 2 上 pull 把镜像拉下来使用这种方式就显得比较麻烦假如我只是测试用的在一台主机上做好镜像后在另一台主机上跑一下就行了没必要推到仓库上然后又把它拉到本地来。 此时我们可以在已有镜像的基础上把镜像打包成一个压缩文件然后拷贝到另一台主机上将其导入这就是镜像的 导入 和 导出 功能。 镜像导出 [rootwang ~]# docker save -o web.tar.gz wangming111/web [rootwang ~]# ls anaconda-ks.cfg web.tar.gz镜像导入 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE web v0.1 cf9069c773f7 3 hours ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB [rootwang ~]# docker load -i web.tar.gz Loaded image: wangming111/web:v0.3 Loaded image: wangming111/web:v0.2 [rootwang ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wangming111/web v0.3 e102ed558331 About an hour ago 1.23MB web v0.1 cf9069c773f7 3 hours ago 1.23MB wangming111/web v0.2 cf9069c773f7 3 hours ago 1.23MB busybox latest b97242f89c8a 6 weeks ago 1.23MB httpd latest 683a7aad17d3 6 weeks ago 138MB
http://www.w-s-a.com/news/95360/

相关文章:

  • 昆明网站建设知名企业博客网站开发
  • 如何做网站网页免费thinkphp网站后台模板
  • 怎么自己做优惠券网站济南小程序开发
  • 南昌网站专业制作做仿站如何获取网站源码
  • qq钓鱼网站wordpress 企业站模板
  • 推进文明网站建设免费设计公司logo设计
  • 做电脑租赁网站server 2008 网站部署
  • 做网站的公司一年能赚多少钱wordpress作者增加分类插件
  • 苏州尚云网站建设专业摄影网站推荐
  • 020网站开发微信公众号直接链接网站怎么做
  • 学做烘焙的网站某网站注册需要邮箱是怎么弄
  • 网站的特效代码公司网站开发的工作内容
  • 网站制作哪家好商城网站建设预算要多少钱
  • 怎么做律所的官方网站微网站可以做商城吗
  • 通用网站后台管理系统(php版)网站备案ip查询网站查询
  • 制作网站代码吗江阴网站建设推广
  • 汕头建网站wordpress文章网址采集
  • 十大景观设计网站用vue框架做的网站
  • 福建省建设监理网官方网站做外贸网站卖什么东西好
  • 公司做网站排名东莞关键词优化推广
  • 连云港做企业网站公司全网营销与seo
  • 电子毕业设计代做网站wordpress 插件放在那
  • 黄石规划建设局网站怎么做存储网站
  • 网站安装wordpress滨江网站建设
  • 河南官网网站建设一般使用的分辨率显示密度是
  • dedecms新网站 上传到万网的空间宝洁公司网站做的怎么样
  • 网站建设语录优惠券的网站怎么做的
  • 白山市住房和建设局网站有实力高端网站设计地址
  • 沧州网站建设制作设计优化深圳网站自然优化
  • 企业做网站 乐云seowordpress中修改html