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

原材料价格查询网站有什么做衣服的网站吗

原材料价格查询网站,有什么做衣服的网站吗,织梦做淘宝客网站视频,佛山便宜网站建设作者主页#xff1a; 正函数的个人主页 文章收录专栏#xff1a; Docker 欢迎大家点赞 #x1f44d; 收藏 ⭐ 加关注哦#xff01; Docker Buildx Docker Buildx 是一个 docker CLI 插件#xff0c;其扩展了 docker 命令#xff0c;支持 [Moby BuildKit] 提供的功能。提… 作者主页 正函数的个人主页 文章收录专栏 Docker 欢迎大家点赞 收藏 ⭐ 加关注哦 Docker Buildx Docker Buildx 是一个 docker CLI 插件其扩展了 docker 命令支持 [Moby BuildKit] 提供的功能。提供了与 docker build 相同的用户体验并增加了许多新功能。 该功能仅适用于 Docker v19.03 版本 一、使用 BuildKit 构建镜像 BuildKit 是下一代的镜像构建组件在 https://github.com/moby/buildkit 开源。 注意如果您的镜像构建使用的是云服务商提供的镜像构建服务腾讯云容器服务、阿里云容器服务等由于上述服务提供商的 Docker 版本低于 18.09BuildKit 无法使用将造成镜像构建失败。建议使用 BuildKit 构建镜像时使用一个新的 Dockerfile 文件例如 Dockerfile.buildkit 目前Docker Hub 自动构建已经支持 buildkit具体请参考 https://github.com/docker-practice/docker-hub-buildx Dockerfile 新增指令详解 启用 BuildKit 之后我们可以使用下面几个新的 Dockerfile 指令来加快镜像构建。 RUN --mounttypecache 目前几乎所有的程序都会使用依赖管理工具例如 Go 中的 go mod、Node.js 中的 npm 等等当我们构建一个镜像时往往会重复的从互联网中获取依赖包难以缓存大大降低了镜像的构建效率。 例如一个前端工程需要用到 npm FROM node:alpine as builderWORKDIR /appCOPY package.json /app/RUN npm i --registryhttps://registry.npm.taobao.org \ rm -rf ~/.npmCOPY src /app/srcRUN npm run buildFROM nginx:alpineCOPY --frombuilder /app/dist /app/dist使用多阶段构建构建的镜像中只包含了目标文件夹 dist但仍然存在一些问题当 package.json 文件变动时RUN npm i rm -rf ~/.npm 这一层会重新执行变更多次后生成了大量的中间层镜像。 为解决这个问题进一步的我们可以设想一个类似 数据卷 的功能在镜像构建时把 node_modules 文件夹挂载上去在构建完成后这个 node_modules 文件夹会自动卸载实际的镜像中并不包含 node_modules 这个文件夹这样我们就省去了每次获取依赖的时间大大增加了镜像构建效率同时也避免了生成了大量的中间层镜像。 BuildKit 提供了 RUN --mounttypecache 指令可以实现上边的设想。 # syntax docker/dockerfile:experimental FROM node:alpine as builderWORKDIR /appCOPY package.json /app/RUN --mounttypecache,target/app/node_modules,idmy_app_npm_module,sharinglocked \--mounttypecache,target/root/.npm,idnpm_cache \npm i --registryhttps://registry.npm.taobao.orgCOPY src /app/srcRUN --mounttypecache,target/app/node_modules,idmy_app_npm_module,sharinglocked \ # --mounttypecache,target/app/dist,idmy_app_dist,sharinglocked \npm run buildFROM nginx:alpine# COPY --frombuilder /app/dist /app/dist# 为了更直观的说明 from 和 source 指令这里使用 RUN 指令 RUN --mounttypecache,target/tmp/dist,frombuilder,source/app/dist \# --mounttypecache,target/tmp/dist,frommy_app_dist,sharinglocked \mkdir -p /app/dist cp -r /tmp/dist/* /app/dist由于 BuildKit 为实验特性每个 Dockerfile 文件开头都必须加上如下指令 # syntax docker/dockerfile:experimental第一个 RUN 指令执行后id 为 my_app_npm_module 的缓存文件夹挂载到了 /app/node_modules 文件夹中。多次执行也不会产生多个中间层镜像。 第二个 RUN 指令执行时需要用到 node_modules 文件夹node_modules 已经挂载命令也可以正确执行。 第三个 RUN 指令将上一阶段产生的文件复制到指定位置from 指明缓存的来源这里 builder 表示缓存来源于构建的第一阶段source 指明缓存来源的文件夹。 上面的 Dockerfile 中 --mounttypecache,... 中指令作用如下 OptionDescriptionidid 设置一个标志以便区分缓存。target (必填项)缓存的挂载目标文件夹。ro,readonly只读缓存文件夹不能被写入。sharing有 shared private locked 值可供选择。sharing 设置当一个缓存被多次使用时的表现由于 BuildKit 支持并行构建当多个步骤使用同一缓存时同一 id会发生冲突。shared 表示多个步骤可以同时读写private 表示当多个步骤使用同一缓存时每个步骤使用不同的缓存locked 表示当一个步骤完成释放缓存后后一个步骤才能继续使用该缓存。from缓存来源构建阶段不填写时为空文件夹。source来源的文件夹路径。 RUN --mounttypebind 该指令可以将一个镜像或上一构建阶段的文件挂载到指定位置。 # syntax docker/dockerfile:experimental RUN --mounttypebind,fromphp:alpine,source/usr/local/bin/docker-php-entrypoint,target/docker-php-entrypoint \cat /docker-php-entrypointRUN --mounttypetmpfs 该指令可以将一个 tmpfs 文件系统挂载到指定位置。 # syntax docker/dockerfile:experimental RUN --mounttypetmpfs,target/temp \mount | grep /tempRUN --mounttypesecret 该指令可以将一个文件(例如密钥)挂载到指定位置。 # syntax docker/dockerfile:experimental RUN --mounttypesecret,idaws,target/root/.aws/credentials \cat /root/.aws/credentials$ docker build -t test --secret idaws,src$HOME/.aws/credentials .RUN --mounttypessh 该指令可以挂载 ssh 密钥。 # syntax docker/dockerfile:experimental FROM alpine RUN apk add --no-cache openssh-client RUN mkdir -p -m 0700 ~/.ssh ssh-keyscan gitlab.com ~/.ssh/known_hosts RUN --mounttypessh ssh gitgitlab.com | tee /hello$ eval $(ssh-agent) $ ssh-add ~/.ssh/id_rsa (Input your passphrase here) $ docker build -t test --ssh default$SSH_AUTH_SOCK .docker-compose build 使用 Buildkit 设置 COMPOSE_DOCKER_CLI_BUILD1 环境变量即可使用。 官方文档 https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/experimental.md 二、使用 Buildx 构建镜像 使用 你可以直接使用 docker buildx build 命令构建镜像。 $ docker buildx build . [] Building 8.4s (23/32) ...Buildx 使用 BuildKit 引擎 进行构建支持许多新的功能具体参考 Buildkit 一节。 官方文档 https://docs.docker.com/engine/reference/commandline/buildx/ 三、使用 buildx 构建多种系统架构支持的 Docker 镜像 在之前的版本中构建多种系统架构支持的 Docker 镜像要想使用统一的名字必须使用 $ docker manifest 命令。 在 Docker 19.03 版本中可以使用 $ docker buildx build 命令使用 BuildKit 构建镜像。该命令支持 --platform 参数可以同时构建支持多种系统架构的 Docker 镜像大大简化了构建步骤。 新建 builder 实例 Docker for Linux 不支持构建 arm 架构镜像我们可以运行一个新的容器让其支持该特性Docker 桌面版无需进行此项设置。 $ docker run --rm --privileged tonistiigi/binfmt:latest --install all由于 Docker 默认的 builder 实例不支持同时指定多个 --platform我们必须首先创建一个新的 builder 实例。同时由于国内拉取镜像较缓慢我们可以使用配置了 镜像加速地址 的 dockerpracticesig/buildkit:master 镜像替换官方镜像。 如果你有私有的镜像加速器可以基于 https://github.com/docker-practice/buildx 构建自己的 buildkit 镜像并使用它。 # 适用于国内环境 $ docker buildx create --use --namemybuilder-cn --driver docker-container --driver-opt imagedockerpracticesig/buildkit:master# 适用于腾讯云环境(腾讯云主机、coding.net 持续集成) $ docker buildx create --use --namemybuilder-cn --driver docker-container --driver-opt imagedockerpracticesig/buildkit:master-tencent# $ docker buildx create --name mybuilder --driver docker-container$ docker buildx use mybuilder构建镜像 新建 Dockerfile 文件。 FROM --platform$TARGETPLATFORM alpineRUN uname -a /os.txtCMD cat /os.txt使用 $ docker buildx build 命令构建镜像注意将 myusername 替换为自己的 Docker Hub 用户名。 --push 参数表示将构建好的镜像推送到 Docker 仓库。 $ docker buildx build --platform linux/arm,linux/arm64,linux/amd64 -t myusername/hello . --push# 查看镜像信息 $ docker buildx imagetools inspect myusername/hello在不同架构运行该镜像可以得到该架构的信息。 # arm $ docker run -it --rm myusername/hello Linux buildkitsandbox 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 armv7l Linux# arm64 $ docker run -it --rm myusername/hello Linux buildkitsandbox 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 aarch64 Linux# amd64 $ docker run -it --rm myusername/hello Linux buildkitsandbox 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 Linux架构相关变量 Dockerfile 支持如下架构相关的变量 TARGETPLATFORM 构建镜像的目标平台例如 linux/amd64, linux/arm/v7, windows/amd64。 TARGETOS TARGETPLATFORM 的 OS 类型例如 linux, windows TARGETARCH TARGETPLATFORM 的架构类型例如 amd64, arm TARGETVARIANT TARGETPLATFORM 的变种该变量可能为空例如 v7 BUILDPLATFORM 构建镜像主机平台例如 linux/amd64 BUILDOS BUILDPLATFORM 的 OS 类型例如 linux BUILDARCH BUILDPLATFORM 的架构类型例如 amd64 BUILDVARIANT BUILDPLATFORM 的变种该变量可能为空例如 v7 使用举例 例如我们要构建支持 linux/arm/v7 和 linux/amd64 两种架构的镜像。假设已经生成了两个平台对应的二进制文件 bin/dist-linux-armbin/dist-linux-amd64 那么 Dockerfile 可以这样书写 FROM scratch# 使用变量必须申明 ARG TARGETOSARG TARGETARCHCOPY bin/dist-${TARGETOS}-${TARGETARCH} /distENTRYPOINT [dist]作者主页 正函数的个人主页 文章收录专栏 Docker 欢迎大家点赞 收藏 ⭐ 加关注哦 如果你认为这篇文章对你有帮助请给正函数点个赞吧如果发现什么问题欢迎评论区留言
http://www.hkea.cn/news/14280744/

相关文章:

  • 网站建设 问答wordpress页面回收站位置
  • 设计企业网站如何制作网站地图
  • 网站的建设期破解要钱网站
  • 网站功能建设湛江建设网官方网站
  • 做盗版影视网站租赁商城手机网站开发
  • 免费网站空间10g公司网址大全
  • 电影网站做流量邮箱登陆登录入口
  • 教学网站开发应用指导方案欧美网站建设公司排名
  • 经营性质网站备案手机网站 兼容
  • 广东企业网站模板推荐浏览网站 需要我安装wordpress
  • 东莞黄江做网站wordpress wp_user_query
  • 想自己做网站推广上海微信网站建设价格
  • 大良营销网站建设好么推广引流的10个渠道
  • 安全等级保护每个网站必须做吗2022年热点营销案例
  • 广西建设执业资格注册中心网站商城网站开发与设计
  • 做网站给客户聊天记录微信上的小程序是怎么做的
  • 网站制作软件是什么手机网站优点
  • 广州网站制作一般多少钱网站建设与管理案例教程教学大纲
  • php一般网站空间多大阳江市建设网站
  • wordpress图片上传后无法显示安徽网络优化公司排名
  • wordpress建站中英文公司宣传册设计样本设计
  • 收录网站排名吴川市规划建设局网站
  • 自己做的网站如何在网络上展示新华网站建设
  • 公司网站设计教程2021必火的创业项目加盟
  • 天河建设网站平台有道网站提交入口
  • 这么用自己的电脑做网站服务器怎么进去wordpress的仪表盘
  • 搭建网站的网站网站一跳率
  • asp 做网站的缺点网站管理员登陆不了
  • 织梦网站怎么做投票网站自然排名往后掉
  • 做网站42类商标怎么选小类短网址在线生成