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

怎样建设外贸网站电子商务网站建设的核心

怎样建设外贸网站,电子商务网站建设的核心,服务器做网站有什么好处,北京搬家公司收费价目表我们如何通过引入具有多阶段构建过程的Dockerfiles来减小Golang镜像的大小#xff1f; 让我们从一个通用的Dockerfile开始#xff0c;它负责处理基本的事务#xff0c;如依赖项、构建二进制文件、声明暴露的端口等#xff0c;以便为Go中的一个非常基础的REST API提供服务。…我们如何通过引入具有多阶段构建过程的Dockerfiles来减小Golang镜像的大小 让我们从一个通用的Dockerfile开始它负责处理基本的事务如依赖项、构建二进制文件、声明暴露的端口等以便为Go中的一个非常基础的REST API提供服务。 假如在reduce-docker-size项目下有一个dockerfile文件。 reduce-docker-size/dockerfile FROM golang:1.16-alpine ENV GO111MODULEon WORKDIR /app COPY go.mod . COPY go.sum . RUN go mod download COPY . . RUN CGO_ENABLED0 GOOSlinux GOARCHamd64 go build ENV HTTP_PORT8080 EXPOSE 8080 ENTRYPOINT [/app/reduce-docker-size]那将无缝地构建您项目的二进制文件并创建Docker镜像。 这样做真的足够好吗 我会说不因为生成的镜像大小超过300MB确切地说是322MB因为它包含了所有的Golang工具这对我们来说是不必要的因为我们指示编译器禁用cgoCGO_ENABLED0并静态链接任何将为我们提供自包含可执行文件的C绑定其大小仅为6.05MB无需任何外部框架或运行时依赖。 CGO_ENABLED0 是至关重要的如果我们不构建自包含的可执行文件多阶段构建过程将无法工作。 我们可以做得更好的是采用所谓的多阶段构建。多阶段构建允许多个不同的构建过程这些构建可以完全从不同的基础镜像构建选择性地将文件从一个阶段传递到下一个阶段从而剥离最终镜像中所有不必要的文件。例如我们可以将前一个阶段称为BUILD然后引入第二个阶段我们称之为BINARIES该阶段使用alpine:latest作为基础镜像并从BUILD阶段复制我们构建的应用程序的二进制文件。 # BUILD FROM golang:1.16-alpine as BUILD ENV GO111MODULEon WORKDIR /app COPY go.mod . COPY go.sum . RUN go mod download COPY . . RUN CGO_ENABLED0 GOOSlinux GOARCHamd64 go build ENV HTTP_PORT8080 EXPOSE 8080 # BINARIES FROM alpine:latest COPY --fromBUILD /app/reduce-docker-size /app/reduce-docker-size ENTRYPOINT [/app/reduce-docker-size]由于配备了golang工具包的已被清理。现在镜像大小已降至11.7MB。 这个好到足够了吗 我会说是的但是为了实验的缘故我们还是尽量挑战一下极限。我们继续沿着多阶段构建的道路前进但这次在我们的第二阶段我们将不再使用alpine:latest而是转向一个非常特殊的名为scratch的镜像这是一个完全空白的镜像实际上什么都没有。 # BUILD FROM golang:1.16-alpine as BUILD ENV GO111MODULEon WORKDIR /app COPY go.mod . COPY go.sum . RUN go mod download COPY . . RUN CGO_ENABLED0 GOOSlinux GOARCHamd64 go build ENV HTTP_PORT8080 EXPOSE 8080 # MINIATURE FROM scratch COPY --fromBUILD /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --fromBUILD /app/reduce-docker-size /app/reduce-docker-size ENTRYPOINT [/app/reduce-docker-size]新创建的镜像现在已经降至6.34MB 因为我们预先告知的scratch镜像实际上是空的所以找不到任何根SSL证书。以下指令将在最终镜像中复制证书绝对不应被省略 COPY — fromBUILD /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/请问使用scratch作为最终阶段的基础镜像值得吗我会说既值得又不值得。如果你排除那些在alpine:latest和scratch构建的最终镜像之间的5.36MB差异可能会产生巨大的影响在其余的情况下你最终会在生产中得到一个完全没有任何工具的容器我完全不推荐这样做。这些特殊情况很少见所以在为了仅仅5.36MB实际上是alpine:latest的大小而给自己找麻烦之前要三思。
http://www.pierceye.com/news/926355/

相关文章:

  • 有关建筑网站建设方案案例平台网站建设哪家有
  • 网站域名跳转是怎么做的空间一个数据库可以做几个网站
  • asp网站幻灯片不显示微商刚起步怎么找客源
  • 婚恋网站翻译可以做吗科技局网站建设方案
  • 长沙哪里学网站建设德阳做网站的公司
  • 制作短链接网站做抽奖网站违法吗
  • 网站备案每年审吗做网站做推广
  • 网站名称 规则个人网页模板背景
  • 网站制作方案策划简历网站建设咨询有客诚信网站建设咨询
  • 格尔木市住房和城乡建设局网站能看全景的地图软件
  • 一站式网站建设与运营wordpress后台代码修改
  • 企业品牌类网站有哪些做网站建设的公司是什么类型
  • 自己制作的网站怎么做分页2022建站市场
  • 网贷审核网站怎么做wordpress 文章列表页
  • 搬家网站建设公司西安是哪个省市
  • php 网站 整合 数据库智能建站系统个人网站
  • 福田区罗湖区宝安区龙华区seo上首页排名
  • 网站建设业务员提成企业网站 需求
  • 做淘宝客网站 首选霍常亮国外网页设计
  • 天津小型企业网站设计方案网页升级访问每天自动更新 下载
  • 好的学习网站打广告壹搜网站建设优化排名
  • 响应式设计 手机网站手机自己制作app软件
  • 东方头条网站源码杭州正晖建设工程有限公司网站
  • 阿里巴巴网站建设与维护深圳民治网站建设
  • 郑州短视频代运营seo外链是什么
  • 网站建设公司 经营资质wordpress文学
  • 手机网站建设请示常州建设网站公司哪家好
  • 网站开发报价ppt重庆沙坪坝有哪些大学
  • 牛商网做的包装盒网站怎么在门户网站上发布
  • 北京网络公司建站成品app直播源码下载