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

做一网站要什么一站式做网站哪家专业

做一网站要什么,一站式做网站哪家专业,建设音乐网站,烟台网站排行榜一、什么是 Docker#xff1f; Docker 是一种容器引擎#xff0c;可以在容器内运行一段代码#xff0c;Docker 镜像是在任何地方运行应用程序而无需担心应用程序依赖性的方式。要构建镜像#xff0c;docker 使用一个名为 Dockerfile 的文件#xff0c;Dockerfile 是一个包…一、什么是 Docker Docker 是一种容器引擎可以在容器内运行一段代码Docker 镜像是在任何地方运行应用程序而无需担心应用程序依赖性的方式。要构建镜像docker 使用一个名为 Dockerfile 的文件Dockerfile 是一个包含许多指令RUN、COPY、EXPOSE 等的文件成功执行这些命令后docker 将创建一个镜像供我们在任何地方使用。为什么要减小 docker 镜像大小 安装不必要的软件包会增加攻击面从而增加安全风险 镜像传输需要更多时间 部署大镜像需要更多时间 必须以某种方式创建 Dockerfile以便从该 Dockerfile 构建的镜像在大小方面得到优化。 二、最小化镜像层 可以减少 Dockerfile 中的层数dockerfile 中的每个 FROM、RUN、COPY 命令都会创建一个单独的层并增加镜像的整体大小和构建时间。要减小 docker 镜像大小请在单个 RUN 或 COPY 指令中执行多个命令来最小化 Dockerfile 中的层数 FROM ubuntu:latest RUN apt update - y RUN apt install unzip - y RUN apt install curl - y RUN apt install python3 - y与其对每个命令使用单独的指令不如将它们组合起来 FROM ubuntu:latest RUN apt update -y \ apt install unzip -y \ apt install curl -y \ apt install python3 -y从下图中可以看出通过减少层数可以减少一些 MB 的大小 三、使用 Docker Squash 减小镜像大小 Docker 在构建镜像时创建了很多层压缩有助于在逻辑层中组织镜像可以控制镜像的结构而不是让镜像具有多个不必要的层。可以使用以下命令安装 docker-squash pip install docker-squash可以运行以下命令来减小镜像的大小 docker-squash image:old -t image:new四、使用较小的基础镜像 减小 docker 镜像大小最明显的方法是使用较小的基础镜像如果希望为 python 应用程序创建镜像请考虑使用 python:3.9-slim 镜像而不是 python:3.9。python:3.9 的大小约为 1.3 GB而 python:3.9-slim 的大小仅为 1 GB 左右。可以使用 alpine 版本进一步减少镜像alpine 镜像是专门为作为容器运行而设计的而且体积非常小python:3.9-alpine 镜像只有 49 MB。 五、使用多阶段构建来减小大小 为了显着减小大小可以使用 docker 多阶段构建的概念这里使用不同的 images/Dockerfile 来构建和打包应用代码。它将 Dockerfile 分成多个阶段并将所需的工件从一个阶段传递到另一个阶段然后在最后一个阶段交付缩小镜像大小的最终镜像它显着减小镜像尺寸。 # Official docker build image, Using node:14.17-alpine3.14 image for stage-1. # Stage-1 FROM node:14.17-alpine3.14 as build # Copy Required files COPY public /home/app/public/ COPY src /home/app/src/ # dockerfile install multiple packages RUN apk add g make python2 RUN npm install --silent # Create Build RUN npm run build RUN apk --purge del python2 #Run the build by copying the files form previous stage. # Stage-2 FROM nginx:stable-alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --frombuild /home/app/build /usr/share/nginx/html EXPOSE 80 CMD [nginx, -g, daemon off;]这里使用两个阶段从 docker 文件创建镜像在 Stage-1 中复制代码并构建它在 stage-2 中使用在 stage-1 中构建的代码在 Nginx 中运行。 六、apt 安装中使用 --no-install-recommends 标志 当运行 apt install 命令来安装某些包时它会安装一些不需要的推荐包使用 --no-install-recommends 标志可以显着减小镜像大小 FROM ubuntu:latest RUN apt update -y \ apt install unzip -y --no-install-recommends \ apt install curl --no-install-recommends -y \ apt install python3 -y --no-install-recommends如下图所示带有 new 标签的镜像由于添加了此标志而减少了 5MB当要安装多个包时这将非常有帮助。 可以在 apk add 命令中添加 --no-cache。 七、在 apt install 命令后添加 rm -rf /var/lib/apt/lists/* 可以在 apt install 之后添加这个命令来减少 docker 镜像的大小 FROM ubuntu:latest RUN apt update -y \ apt install unzip -y --no-install-recommends \ apt install curl --no-install-recommends -y \ apt install python3 -y --no-install-recommends \ rm -rf /var/lib/apt/lists/*从如下的图中可以看出已将 docker 镜像的大小减少了约 41 MB 八、使用 .dockerignore 文件 如果不想将某些文件复制到 docker 镜像那么使用 .dockerignore 文件可以节省一些空间。在构建上下文中有一些隐藏的文件/文件夹可以使用 ADD 或 COPY 命令如 .git 等将其传输到镜像包含一个 .dockerignore 文件以减小 docker 镜像大小是一个很好的做法。.dockerignore 文件示例 ignorethisfile.txt logs/ ignorethisfolder/ .git .cache *.md九、在 RUN 之后放置 COPY 在某些情况下对代码进行了细微的更改并且需要反复从 dockerfile 构建镜像。在这种情况下将 COPY 命令放在 RUN 命令之后将有助于减小镜像大小因为在这种情况下 docker 将能够更好地使用缓存功能。它将为安装了依赖项的镜像创建缓存每次更改代码时docker 都会使用该缓存并创建镜像。它还将减少 docker 构建时间。 #Dockerfile-1 FROM ubuntu:latest RUN apt update -y \ apt install unzip -y --no-install-recommends \ apt install curl --no-install-recommends -y \ apt install python3 -y --no-install-recommends \ rm -rf /var/lib/apt/lists/* COPY file /home/ubuntu #Dockerfile-2 FROM ubuntu:latest COPY file /home/ubuntu RUN apt update -y \ apt install unzip -y --no-install-recommends \ apt install curl --no-install-recommends -y \ apt install python3 -y --no-install-recommends \ rm -rf /var/lib/apt/lists/*在上述情况下dockerfile-1 将能够比 dockerfile-2 表现得更好。 十、安装后删除软件包 如果需要在 docker 镜像中安装一些包并且从外部下载它们那么最好在安装后删除这些包。例如如果希望从 zip 文件安装 AWS CLI V2那么在成功安装后请记住也删除该 zip 文件 FROM ubuntu:latest RUN curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip \ unzip awscliv2.zip \ sudo ./aws/install \ rm awscliv2.zip十一、使用 Docker 镜像缩容工具 有几个dockerfile 优化工具可以减少 docker 镜像的大小 DiveDive 是一个开源工具用于探索 Docker 镜像及其层内容然后发现缩小 Docker/OCI 镜像大小的方法Dive 的 Git 地址 fromlatest.io此工具将检查 Dockerfile 并检查可以执行的更多步骤以减小镜像大小具体使用请参考fromlatest.ioDocker Slim它让容器更好、更小、更安全可以使用 dockerslim 来最小化容器镜像。
http://www.yutouwan.com/news/186384/

相关文章:

  • 杭州网站建设公司电话个人网站的设计流程
  • 程序员自己建站赚钱南部县房产网
  • 品牌型网站设计做门户网站用什么软件
  • 网站开发工程师学什么区别潍坊住房和城乡建设厅网站电话
  • 需要锦州网站建设c# 网站开发实例教程
  • 怎么买域名建网站给网站做选题
  • 重庆触摸屏_电子商务网站建设网上找工程平台有哪些
  • 网站打开出现建设中定制网站与模板网站
  • 盗版系统网站怎么建立三星网上商城下载
  • 学习网站 现状wordpress错误代码403
  • 顺德企业网站制作百度竞价排名事件
  • 做报纸版式的网站江苏网站seo平台
  • 国内html网站欣赏有谁想做网站 优帮云
  • 5118网站查询做一份网站的步zou
  • 网站健设推广产品多少钱营销型网站的评价
  • 那里可以做PC28网站的品牌宣传的推广
  • 黄页网站推广qq群推广链接
  • 济南网站制作公司wordpress 极简主题
  • 凡科建设网站步骤免费的模板下载
  • postgresql做网站用什么环境什么网站做adsense好
  • 整个网站都在下雪特效怎么做Wordpress动图主题
  • 祁阳做网站哈尔滨网站制作公司
  • 招聘网站套餐视频号推广方法
  • 网站制作进度表营销推广型网站价格
  • 深圳网站建设开发哪家好怎么用网网站模板做网站
  • 网站搜索引擎优化案例茂名网站建设
  • 网站服务器指的是什么wordpress 乱版
  • 做网站怎么备份数据一个新的网站开发语言
  • 网站建设需要版块重庆门户网站开发报价
  • 网站没有做伪静态是什么样子设计公司网站设计