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

龙岗区网站制作软文营销的概念

龙岗区网站制作,软文营销的概念,快速web网站开发,企业cms源码说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/105169448 文章目录一、Dockerfile Build App&#xf…

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/105169448

文章目录

  • 一、Dockerfile Build App(应用程序)实战
    • 1.叙述
    • 2.准备python程序
    • 3.构建Docker Image
  • 二、Container的操作
    • 1.在运行的容器中执行命令
    • 2.补充容器操作
  • 三、Dockerfile Build Command(命令)实战
    • 1.运行ubuntu容器并安装stress工具
    • 2.stress工具简单使用
    • 3.构建Docker Image
  • 四、Container资源限制
    • 1.容器的限制有哪些
    • 2.限制容器的内存
    • 3.显示容器的cpu

一、Dockerfile Build App(应用程序)实战

1.叙述

接下来博主将实操演示如何将一个python程序打包成功一个 docker image

2.准备python程序

  • 创建一个简单的基于flask web框架的路由
    在这里插入图片描述
  • 运行app.py程序
    在这里插入图片描述
  • 在浏览器输入http://127.0.0.1:5000/,查看响应
    在这里插入图片描述

3.构建Docker Image

  • 创建flask-hello-world目录,并在目录下创建一个app.py程序
    在这里插入图片描述
  • 根据以上python程序,创建Dockerfile文件
    在这里插入图片描述
  • 构建image,因为要去下载python2.7基础镜像,所以需要一定时间,根据build日志可以发现到第5步指定/app工作目录时,提示/app不是一个目录
    在这里插入图片描述
  • 那么遇到以上构建时出现的错误,可以通过debug模式进行定位原因,那么如何debug,很简单我们在build image时每一步都会生成一个中间状态临时的image,那么我们就可以使用docker run -it去交互式创建并运行这个image的container,那么这个image则是第4步生成/app目录生成的,进入这个容器,然后cd进入app目录时提示不是一个目录,那么使用more以文件查看却发现并不是目录而是文件,文件这是app.py中的代码
    在这里插入图片描述
  • 导致以上没有创建app目录,而是生成app文件的原因是在Dockerfile中COPY键指定复制到/app目录后面添加/,这样就不会创建app文件了
    在这里插入图片描述
  • 再次build,成功
    在这里插入图片描述
  • 查看构建的image
    在这里插入图片描述
  • 通过构建成功的image创建并运行容器,如下成功打印出flask日志,说明这个app成功在容器中运行了
    在这里插入图片描述
  • 但是以上app在前台运行,不小心可能会被终止运行,在后台运行加上-d参数则会在后台运行,通过docker ps命令查看正在运行的容器,就能看到该容器是在后台运行,command这是python app.py
    在这里插入图片描述

二、Container的操作

1.在运行的容器中执行命令

  • 通过docker exce命令,首先查看该命令可以添加哪些参数
docker exec --help

在这里插入图片描述

  • 交互式进入容器shell里面
docker exec -it <CONTAINER ID> /bin/bash

在这里插入图片描述

  • 在容器中,查看后台运行的python进程,看到运行的命令在后台进程中
ps -ef | grep python

在这里插入图片描述

  • 退出容器,交互式运行python命令,因为容器的base image是python,所以直接运行python是没有问题的
docker exec -it <CONTAINER ID> python

在这里插入图片描述

  • 查看正在运行中的容器IP地址
docker exec -it <CONTAINER ID> ip a

在这里插入图片描述

2.补充容器操作

  • 停止在正在运行的容器
    在这里插入图片描述
  • 删除所有的容器
    在这里插入图片描述
  • 创建指定容器name并运行,可通过其name停止或运行容器
    在这里插入图片描述
  • 获取容器/镜像的元数据
    在这里插入图片描述
  • 获取容器的日志
    在这里插入图片描述
  • 关于容器的操作,可以参考官方文档
    在这里插入图片描述

三、Dockerfile Build Command(命令)实战

说明: stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户。

1.运行ubuntu容器并安装stress工具

  • 首先创建运行容器,在容器中安装stress
    在这里插入图片描述
  • 查看stress路径,发现在usr/bin下为可执行文件,查看帮助
    在这里插入图片描述

2.stress工具简单使用

  • 使用stress工具,启动一个worker,那么一个worker占用内存默认为256M
    在这里插入图片描述
  • 使用debug模式查看启用一个worker日志
    在这里插入图片描述
  • 设置每个vm进程为50000M内存,提示无法分配
    在这里插入图片描述
  • 退出容器,查看宿主机docker host的总内存一共是995748kb,大约是927M,所以分配50000M肯定是无法分配的,分配的容器内存肯定必须小于宿主机的内存
    在这里插入图片描述

3.构建Docker Image

  • 创建Dockerfile文件
    在这里插入图片描述
  • 通过以上Dockerfile构建image
    在这里插入图片描述
  • 通过以上构建的image,创建并运行容器,查看效果,相当于在之前ubuntu容器中直接运行stress命令
    在这里插入图片描述
  • 运行容器并添加命令参数,原理是通过build时Dockerfile中的CMD来接收此命令参数
    在这里插入图片描述
  • 添加–verbose参数,debug显示创建1个worker分配默认的256M内存、释放内存整个过程
    在这里插入图片描述
  • 以上命令后面的–vm 1 --verbose参数都是放在build image的Dockerfile文件中的CMD里面的,而交互式运行容器执行的是ENTRYPOINT中的/usr/bin/stress命令,通过ENTRYPOINT+CMD来执行一个命令+命令参数,那么在CMD中添加一个默认参数如:–verbose,那么构建出来的image,直接docker run 则会默认使用–verbose参数
    在这里插入图片描述
    以上则就是通过Dockerfile去构建一个命令行程序的image,跟前面构建python web application image不太一样,这两种docker image是比较典型的两种类型

四、Container资源限制

1.容器的限制有哪些

  • 首先先聊聊虚拟化技术,在容器技术初出之前有虚拟化技术,在一台物理机上面可以创建多个虚拟机,比如VMware Workstation或者virtualbox,我们在创建虚拟机时候可以对这太虚拟机进行内存和cpu以及网络、磁盘等一些资源的限制(设置),那么同样容器也是可以进行资源限制的
    在这里插入图片描述
    在这里插入图片描述
  • 通过docker run --help命令,查看容器创建帮助文档,那么可以指定创建的这个容器限制用多少内存或者多少个cpu等
    在这里插入图片描述

2.限制容器的内存

说明: 如果直接设置内存 -m(–memory),-m 默认就是设置memory,而没有设置swap(交换分区)内存,那么 swap内存就为memory的内存,–memory-swap 是必须要与 --memory 一起使用的,说明一下–memory-swap是指的值包含容器可用memory和可用swap的,比如–memory=300M --memory-swap=1000M,意思是指容器可以使用300M 的memory,并且可以使用 700M(1000M -300M) 的 swap,再比如设置–memory=200M,那么swap就等于200M,即–memory-swap就等于memory+swap也就是200+200=400M

  • 如下博主docker run构建的stress image创建内存为200M swap为200M,一共为400M的容器并在该容器中分配一个默认内存为256M的worker以debug模式运行,那么肯定是成功的,因为256M是小于这个容器的总内存400M
    在这里插入图片描述
  • 使用以上命令,并为这个worker分配500M的内存,那么500M memory是大于这个容器的总memory400M,此时肯定会提示失败的
    在这里插入图片描述

3.显示容器的cpu

说明: --cpu-shares int该命令参数类型是int整数,设置的是cpu的相对权重,而不是cpu的个数,相对权重的理解,举个例子比如创建了两个容器,第一个容器权重为10,第二个容器的权重为5,当宿主机(物理机)cpu被这个两个运行的容器占满(cpu使用100%),也就是说两个正在运行的容器占满物理机百分之百cpu,那么第一个容器所占的cpu百分数是第二个容器的cpu的两倍

  • 现在博主在xshell中需要分屏显示连接三个ssh会话,第一个窗口创建并运行名为test1容器,设置这个容器的相对权重为10,并在容器中通过stress命令启动一个进程去占用cpu(也就是通过stress命令参数–cpu 1),第二个窗口同上只是相对权重设置为5,第三个窗口执行top命令监控cpu资源消耗情况,如下
    在这里插入图片描述
  • 此时为了查看权重效果,先执行右边窗口中权重为5的容器,并查看top中的cpu资源,此时占用为99.7几乎占满了,该stress进程的PID为14221
    在这里插入图片描述
  • 现在开始执行左边窗口权重为10的容器,查看最下面窗口资源消耗,慢慢的右边窗口的运行的容器通stress进程占用cpu会慢慢下去,而权重为10的stress进程占用cpu百分比会是权重为5的两倍,也就是以上PID为14221的两倍
    在这里插入图片描述
  • 再创建一个窗口,来查看正在运行的test1和test2这两个容器
    在这里插入图片描述
    那么当需要运行多个容器时,可以通过–cpu-shares命令参数来设定比较重要的容器的cpu权重了,那么系统就会为该容器分配较多的cpu了
http://www.lbrq.cn/news/2710171.html

相关文章:

  • 厦门网站建设哪家不错百度指数怎么看排名
  • 营销型企业网站开发爱站工具查询
  • 专业做律师网站的公司培训课程有哪些
  • 如何做网站webstorm好搜搜索引擎
  • 南宁网站建设代理郑州今天刚刚发生的新闻
  • 个人网站怎么做支付商丘网络推广外包
  • 有没有什么推荐的网站无线网络优化工程师
  • 网站制作的评价指标收录查询工具
  • 石家庄网站开发建设网络营销企业有哪些
  • 大型 网站的建设 阶段简单的网页设计
  • 网站给他人做付刑事责任seo快速排名软件app
  • 房屋中介的网站怎么建设石狮seo
  • 凡科网网站系统搜索网站
  • 河南手机网站建设公司优化网站的目的
  • 学网站开发的培训学校长沙做搜索引擎的公司
  • 手机网站的文本排版是怎么做的软件开发需要多少资金
  • php网站开发学习营销网址
  • 网站建设功能图企业网络推广计划书
  • 网站建设手机网站百度seo软件曝光行者seo
  • 网站建设公司新员工培训ppt美国站外推广网站
  • 腾讯云服务器怎么做网站小红书指数
  • 网站做的自适应体验差二十个优化
  • 网站建设博客作业seo刷排名工具
  • 怎样给网站做新闻稿子爱站数据
  • 房地产网站模板库关键词免费下载
  • 网牛网站建设搜狗输入法下载安装
  • 6618自助建站系统源码浏览器看b站
  • 怎样把一个网站建设的更好网络推广公司加盟
  • 一个服务器下怎么做两个网站吗百度相册登录入口
  • 门户类网站建设需要多少钱竞价排名适合百度吗
  • java:创建指定容器类型(如ImmutableSet)的Collector对象
  • Elasticsearch ABAC 配置:基于患者数据的动态访问控制
  • 华为悦盒EC6108V9-1+4G版-盒子有【蓝色USB接口】的特殊刷机说明
  • C# 微软依赖注入 (Microsoft.Extensions.DependencyInjection) 详解
  • Ceph存储池参数中pg_num和pgp_num的关系
  • Mac M1探索AnythingLLM+Ollama+知识库问答