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

企业可以做哪些网站有哪些内容吗wordpress本地环境迁移

企业可以做哪些网站有哪些内容吗,wordpress本地环境迁移,福田做商城网站建设找哪家公司好,阿里云企业网站备案文章目录 一. Docker镜像简介二. Docker镜像详解1. 镜像和容器的关系2. 镜像通常比较小3. 拉取镜像4. 镜像命名4.1. 镜像仓库服务4.2. 官方和非官方镜像仓库4.3. 镜像的命名和标签 5. 为镜像打多个标签6. 过滤镜像内容6.1. 虚空镜像6.2. 删除虚空镜像6.3. 过滤器与格式化输出 7… 文章目录 一. Docker镜像简介二. Docker镜像详解1. 镜像和容器的关系2. 镜像通常比较小3. 拉取镜像4. 镜像命名4.1. 镜像仓库服务4.2. 官方和非官方镜像仓库4.3. 镜像的命名和标签 5. 为镜像打多个标签6. 过滤镜像内容6.1. 虚空镜像6.2. 删除虚空镜像6.3. 过滤器与格式化输出 7. 搜索Docker Hub中的仓库8. 镜像分层8.1. 镜像和分层8.2. 共享镜像层 9. 镜像散列值9.1. 根据摘要拉取镜像9.2. 镜像散列值摘要9.3. 压缩散列值 10. 删除镜像 三. 多架构镜像:支持多架构和多平台四. 镜像命令 一. Docker镜像简介 Docker镜像就像停止运行的容器我们可以将镜像理解为类Class​。镜像需要从镜像仓库服务中拉取镜像。常见的镜像仓库服务是DockerHub但是也存在其他镜像仓库服务。拉取操作会将镜像下载到本地 Docker主机。 镜像是多层的 镜像由多个层组成每层叠加之后从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统OS​同时还包含应用运行所必须的文件和依赖包。因为容器的设计初衷就是快速和小巧所以镜像通常都比较小。 构建时结构 我们可以停止某个容器的运行并从中创建新的镜像会保存当前执行的环境状况。在该前提下镜像可以理解为一种构建时build-time结构而容器可以理解为一种运行时run-time结构如图   二. Docker镜像详解 1. 镜像和容器的关系 我们可以使用docker container run命令从某个镜像启动一个或多个容器。一旦容器从镜像启动后二者之间就变成了互相依赖的关系并且在镜像上启动的容器全部停止之前镜像是无法被删除的。 尝试删除镜像而不停止或销毁使用它的容器会导致下面的错误。 $ docker image rm Error response from daemon: conflict: unable to remove repository reference \ (must force) - container is using its referenc\ ed image2. 镜像通常比较小 容器追求快速和小巧这意味着构建镜像的时候通常需要裁剪掉不必要的部分保持较小的体积比如 Docker镜像通常不会包含6个不同的Shell让读者选择通常Docker镜像中只有一个精简的Shell甚至没有Shell。镜像不包含内核容器都是共享所在Docker主机的内核如cgroups和namespaces。所以容器仅包含必要的操作系统通常只有操作系统文件和文件系统对象​。 3. 拉取镜像 查看主机镜像列表 Docker主机安装之后本地并没有镜像。使用以下命令检查Docker主机的本地仓库中是否包含镜像。 % docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE langgenius/dify-web 0.6.11 03ed4f2b51ea 8 weeks ago 229MB langgenius/dify-api 0.6.11 38532784de04 8 weeks ago 2.55GB ...通过下面的命令可以将镜像拉取到本地。 $ docker image pull ubuntu:latestlatest: Pulling from library/ubuntu4. 镜像命名 4.1. 镜像仓库服务 Docker镜像存储在镜像仓库服务Image Registry当中。Docker客户端的镜像仓库服务是可配置的默认使用Docker Hub。 镜像仓库服务包含多个镜像仓库Image Repository​。同样一个镜像仓库中可以包含多个镜像。如下图展示了包含3个镜像仓库的镜像仓库服务其中每个镜像仓库都包含一个或多个镜像。 4.2. 官方和非官方镜像仓库 Docker Hub也分为官方仓库Official Repository和非官方仓库Unofficial Repository​。 官方仓库中的镜像是由Docker公司审查的。这意味着其中的镜像会及时更新由高质量的代码构成​。这些代码是安全的有完善的文档和最佳实践。 大部分流行的操作系统和应用在Docker Hub的官方仓库中都有其对应镜像。这些镜像很容易找到基本都在Docker Hub命名空间的顶层。 4.3. 镜像的命名和标签 只需要给出镜像的名字和标签就能在官方仓库中定位一个镜像采用“:”分隔​。docker image pull命令的格式如下。 docker image pull repository:tag$ docker image pull mongo:3.3.11 //该命令会从官方Mongo库拉取标签为3.3.11的镜像 $ docker image pull redis:latest //该命令会从官方Redis库拉取标签为latest的镜像 $ docker image pull alpine //该命令会从官方Alpine库拉取标签为latest的镜像 $ docker image pull nigelpoulton/tu-demo:v2 //该命令会从以我自己的Docker Hub账号为命名空间的tu-demo库中下载标签为v2的镜像注意如果没有指定镜像标签则Docker会拉取标签为latest的镜像。但标有latest标签的镜像不保证这是仓库中最新的镜像例如Alpine仓库中最新的镜像通常标签是edge。通常来讲使用latest标签时需要谨慎 5. 为镜像打多个标签 一个镜像可以根据用户需要设置多个标签如下 # 指定 -a 参数来拉取仓库中的全部镜像。 $ docker image pull -a nigelpoulton/tu-demo...$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nigelpoulton/tu-demo v2 6ac21e..bead 1 yr ago 211.6 MB nigelpoulton/tu-demo latest 9b915a..1e29 1 yr ago 211.6 MB nigelpoulton/tu-demo v1 9b915a..1e29 1 yr ago 211.6 MB# 该命令从nigelpoulton/tu-demo仓库拉取了3个镜像latest、v1以及v2。注意看IMAGE ID这一列。只有两个不同的Image ID。这里实际只下载了两个镜像其中有两个标签指向了相同的镜像。换句话说其中一个镜像拥有两个标签。 6. 过滤镜像内容 Docker提供–filter参数过滤镜像内容。如下只会返回悬虚dangling镜像。 docker image ls --filter danglingtrueREPOSITORY TAG IMAGE ID CREATED SIZE none none 4fd34165afe0 7 days ago 14.5MB6.1. 虚空镜像 那些没有标签的镜像被称为悬虚镜像在列表中展示为none:none。通常出现这种情况是因为构建了一个新镜像然后为该镜像打了一个已经存在的标签。当此情况出现Docker会构建新的镜像接着移除旧镜像上面的标签将该标签标在新的镜像之上。 例如 基于alpine:3.4构建一个新的镜像并打上dodge:challenger标签。更新Dockerfile并构建一个新的镜像并且标签为dodge:challenger这时docker会移除旧镜像上面对应的标签旧镜像就变成了悬虚镜像。 6.2. 删除虚空镜像 可以通过docker image prune命令移除全部的悬虚镜像。如果添加了-a参数Docker会额外移除没有被使用的镜像那些没有被任何容器使用的镜像​。 6.3. 过滤器与格式化输出 dangling可以指定true或者false仅返回悬虚镜像true​或者非悬虚镜像false​。before返回指定镜像之前被创建的全部镜像。since返回指定镜像之后创建的全部镜像。label根据标注label的名称或者值对镜像进行过滤。 docker image ls --filter reference*:latest REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest 3fd9065eaf02 8 days ago 4.15MB test latest 8426e7efb777 3 days ago 122MB可以使用--format对输出内容进行格式化。 # 例如只返回Docker主机上镜像的大小属性。docker image ls --format {{.Size}} 99.3MB 111MB 82.6MB 88.8MB 4.15MB 108MB# 返回仓库名标签、大小 docker image ls --format {{.Repository}}: {{.Tag}}: {{.Size}} dodge: challenger: 99.3MB ubuntu: latest: 111MB python: 3.4-alpine: 82.6MB python: 3.5-alpine: 88.8MB alpine: latest: 4.15MB nginx: latest: 108MB 7. 搜索Docker Hub中的仓库 简单模式下该命令会搜索所有“NAME”字段中包含特定字符串的仓库。例如下面的命令会查找所有“NAME”包含“nigelpoulton”的仓库。 $ docker search nigelpoulton NAME DESCRIPTION STARS AUTOMATED nigelpoulton/pluralsight.. Web app used in... 8 [OK] nigelpoulton/tu-demo 7 nigelpoulton/k8sbook Kubernetes Book web app 1 nigelpoulton/web-fe1 Web front end example 0 nigelpoulton/hello-cloud Quick hello-world image 08. 镜像分层 8.1. 镜像和分层 一个Docker镜像由一些松耦合的只读镜像层组成。Docker负责堆叠这些镜像层并且将它们表示为单个统一的对象即Docker镜像。 通过pull来查看仓库的分层。可以看到这个镜像包含5个镜像层。 $ docker image pull ubuntu:latest latest: Pulling from library/ubuntu 952132ac251a: Pull complete 82659f8f1b76: Pull complete c19118ca682d: Pull complete 8296858250fe: Pull complete 24e0251a0e2c: Pull complete ... # 在上面输出内容中以Pull complete结尾的每一行都代表了镜像中某个被拉取的镜像层。8.2. 共享镜像层 多个镜像之间会共享镜像层。这样可以有效节省空间并提升性能。如下例子 $ docker image pull -a nigelpoulton/tu-demolatest: Pulling from nigelpoulton/tu-demo ...v2: Pulling from nigelpoulton/tu-demo 237d5fcd25cf: Already exists a3ed95caeb02: Already exists Snip eab5aaac65de: Pull complete Digest: sha256:d3c0d8c9d5719d31b79c...fef58a7e038cf0ef2ba5eb74cStatus: Downloaded newer image for nigelpoulton/tu-demo$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nigelpoulton/tu-demo v2 6ac...ead 4 months ago 211.6 MB nigelpoulton/tu-demo latest 9b9...e29 4 months ago 211.6 MB nigelpoulton/tu-demo v1 9b9...e29 4 months ago 211.6 MB Docker很聪明可以识别出要拉取的镜像中哪几层已经在本地存在。 Docker在Linux上支持很多存储引擎Snapshotter​。每个存储引擎都有自己的镜像分层、镜像层共享以及写时复制CoW技术的具体实现。但是其最终效果和用户体验是完全一致的。 9. 镜像散列值 9.1. 根据摘要拉取镜像 如果出现给镜像打错标签的情况有时甚至会给新镜像打一个已经存在的标签。 如下描述一个存在的问题 假设镜像golftrack:1.5存在一个已知的Bug。因此可以拉取该镜像后修复它并使用相同的标签将更新的镜像重新推送回仓库。此时原镜像被覆盖但在生产环境中遗留了大量运行中的容器没有什么好办法区分正在使用的镜像版本是修复前还是修复后的因为两个镜像的标签是相同的 摘要 每一个镜像都会有有一个基于其内容的密码散列值即摘要。所以当镜像内容变更时散列值一定会改变。这种方式可以解决前面讨论的问题。 在docker image ls命令之后添加--digests参数即可在本地查看镜像摘要。如下 # 拉取镜像 $ docker image pull alpine Using default tag: latest 。。。 Digest: sha256:3dcdb92d7432d56604d...6d99b889d0626de158f73a# 显示摘要 $ docker image ls --digests alpine REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE alpine latest sha256:3dcd...f73a 4e38e38c8ce0 10 weeks ago 4.8 MB 目前原生Docker命令不支持从远端镜像仓库服务如Docker Hub中获取镜像签名了。这意味着只能先通过标签方式拉取镜像到本地然后自己维护镜像的摘要列表。   下面的例子首先在Docker主机上删除alpine:latest镜像然后显示如何通过摘要来再次拉取该镜像。 $ docker image rm alpine:latest Untagged: alpine:latest Untagged: alpinesha256:c0537...7c0a7726c88e2bb7584dc96 Deleted: sha256:02674b9cb179d...abff0c2bf5ceca5bad72cd9 Deleted: sha256:e154057080f40...3823bab1be5b86926c6f860$ docker image pull alpinesha256:c0537...7c0a7726c88e2bb7584dc96 sha256:c0537...7726c88e2bb7584dc96: Pulling from library/alpine cfc728c1c558: Pull complete Digest: sha256:c0537ff6a5218...7c0a7726c88e2bb7584dc96 Status: Downloaded newer image for alpinesha256:c0537...bb7584dc969.2. 镜像散列值摘要 镜像本身是一个配置对象其中包含了镜像层的列表以及一些元数据信息。镜像层才是实际数据存储的地方比如文件等镜像层之间是完全独立的并没有从属于某个镜像集合的概念​。 镜像的唯一标识是一个加密ID即配置对象本身的散列值。每个镜像层也由一个加密ID区分其值为镜像层本身内容的散列值。 这意味着修改镜像的内容或其中任意的镜像层都会导致加密散列值的变化。 9.3. 压缩散列值 我们再看一个场景在推送和拉取镜像的时候都会对镜像层进行压缩来节省网络带宽以及仓库二进制存储空间。 例如在推送镜像层到Docker Hub的时候Docker Hub会尝试确认接收到的镜像没有在传输过程中被篡改。为了完成校验Docker Hub会根据镜像层重新计算散列值并与原散列值进行比较。因为镜像在传输过程中被压缩​所以散列值的校验也会失败。为避免该问题每个镜像层同时会包含一个分发散列值DistributionHash​。这是一个压缩版镜像的散列值当从镜像仓库服务拉取或者推送镜像的时候其中就包含了分发散列值该散列值会用于校验拉取的镜像是否被篡改过。 这个内容寻址存储模型极大地提升了镜像的安全性因为在拉取和推送操作后提供了一种方式来确保镜像和镜像层数据是一致的。 10. 删除镜像 删除操作会在当前主机上删除该镜像以及相关的镜像层。 $ docker image rm 02674b9cb179 Untagged: alpinesha256:c0537ff6a5218...c0a7726c88e2bb7584dc96 Deleted: sha256:02674b9cb179d57...31ba0abff0c2bf5ceca5bad72cd9 Deleted: sha256:e154057080f4063...2a0d13823bab1be5b86926c6f860注意 如果某个镜像层被多个镜像共享那只有当全部依赖该镜像层的镜像都被删除后该镜像层才会被删除。如果被删除的镜像上存在运行状态的容器那么删除操作不会被允许。 一种删除某Docker主机上全部镜像的快捷方式是在docker image rm命令中传入当前系统的全部镜像ID可以通过docker image ls获取全部镜像ID使用-q参数​。 $ docker image rm $(docker image ls -q) -f # -q只返回了系统中本地拉取的全部镜像的ID列表谨慎使用 三. 多架构镜像:支持多架构和多平台 读者会突然发现在拉取镜像并运行之前需要考虑镜像是否与当前运行环境的架构匹配这破坏了Docker的流畅体验。多架构镜像Multi-architecture Image的出现解决了这个问题这意味着某个镜像仓库标签repository:tag下的镜像可以同时支持64位Linux、PowerPC Linux、64位Windows和ARM等多种架构。简单地说就是一个镜像标签之下可以支持多个平台和架构。 为了实现这个特性镜像仓库服务API支持两种重要的结构Manifest列表新和Manifest。 Manifest列表是指某个镜像标签支持的架构列表。其支持的每种架构都有自己的Mainfest定义其中列举了该镜像的构成。 如下图使用Golang官方镜像作为示例。图左侧是Manifest列表其中包含了该镜像支持的每种架构。Manifest列表的每一项都有一个箭头指向具体的Manifest其中包含了镜像配置和镜像层数据。 这里不需要告知Docker具体的镜像版本是64位Linux还是64位Windows。 $ docker container run --rm golang go versionUnable to find image golang:latest locally latest: Pulling from library/golang 723254a2c089: Pull complete Snip 39cd5f38ffb8: Pull complete Digest: sha256:947826b5b6bc4... Status: Downloaded newer image for golang:latest go version go1.9.2 linux/amd64四. 镜像命令 命令说明docker image pull1. 镜像从远程镜像仓库服务的仓库中下载。2. 默认情况下镜像会从Docker Hub的仓库中拉取。docker image ls列出了本地Docker主机上存储的镜像。可以通过–digests参数来查看镜像的SHA256签名。docker image inspect展示了镜像的细节包括镜像层数据和元数据。docker image rm用于删除镜像。docker image rm alpine:latest命令的含义是删除alpine:latest镜像。当镜像存在关联的容器并且容器处于运行Up或者停止Exited状态时不允许删除该镜像。
http://www.dnsts.com.cn/news/183331.html

相关文章:

  • 做网站的有什么软件网页美工兼职
  • 专业制作网站系统顺的网站建设报价
  • 官方建网站哪个好阿里巴巴能拿货在家里做的网站
  • 网站建设招标说明书怎样用服务器做网站
  • vps主机搭建wordpress深圳公关公司首荐乐云seo
  • 注册网站用什么邮箱sem论坛
  • 网站开发哪个公司好展示型网站有哪些
  • 学网站开发要下载哪些软件有哪些微网站开发策划
  • 巩义做网站xd seo豫建市2021 42号
  • 丹阳网站建设案例二进制可以做网站是吗
  • wordpress 建站插件如何不花钱建设网站
  • 遵义怎样做网站温州市城市基础设施建设网站
  • 网站建设和域名什么关系wordpress.fr
  • 淘宝图片做链接的网站网站栏目怎么
  • 江门h5模板建站建个企业网站一年需要多少钱
  • 个人做网站下载网上图可以吗wordpress滑块不显示
  • 网站做sem优化唐山市路桥建设有限公司网站
  • 长沙营销型网站设计4s店网站建设计划
  • 网站建设应注意什么保定网站优化排名
  • 石家庄哪里有做外贸网站的公司怎么在网上做彩票网站
  • 网站设置不能通过链接访问大连手机自适应网站建设电话
  • 美团网站网站建设发展seo网络优化专员
  • 网站上如何做天气插件越秀网站建设哪家好
  • 网站设计网页首页介绍推广计划描述
  • 重庆交易网站建设wordpress博客统计代码
  • 公众号怎么开通收益seo优化是什么
  • 淘宝客怎么做网站管理做服装零售上什么网站
  • 商城网站的设计风格钟楼做网站
  • 歌手网站建设网站欢迎界面源码
  • 百度宿迁市建设局网站昆山做网站价格