03 2022 档案
摘要:Linux系统支持多条命令顺序执行,就是我可以依次输入多条命令后,统一按Enter键,顺序执行。 1、多命令执行符; 在多个命令之间加;即可多命令顺序执行。 命令格式:命令1 ; 命令2 说明: 多个命令顺序执行,命令之间可以没有任何逻辑联系。 [root@localhost ~]# ls ; da
阅读全文
摘要:CMD指令和ENTRYPOINT指令作用都是指定一个容器启动时要运行的命令。 1、CMD指令和ENTRYPOINT指令说明 CMD指令, 支持三种格式: CMD ["executable","param1","param2"] :使用 exec 执行,推荐方式; CMD command param1
阅读全文
摘要:1、Bash的标准输入输出 我们前边一直在说,在Linux系统下,一切皆是文件,键盘和显示器等硬件都是文件,如下图: 从上图中可以看出,键盘的设备文件名为/dev/stdin,显示器标准正确输入的设备文件名为/dev/stdout,显示器标准错误输入的设备文件名为/dev/stderr。 这些设备文
阅读全文
摘要:**1)目标:**自定义镜像wokong_centos。 2)所用到的保留字指令: FROM:基础镜像,当前新镜像是基于哪个镜像的。 MAINTAINER:镜像维护者的姓名和邮箱地址。 RUN:容器构建时需要运行的命令。 EXPOSE:当前容器对外暴露出的端口(端口映射)。 WORKDIR:指定在创
阅读全文
摘要:1、给命令设置别名 Linux系统的命令别名我们之前已经说过了,这里再过一边。 (1)设置别名的命令格式 查询命令别名。 [root@localhost ~] # alias 设定命令别名。 [root@localhost ~] # alias 别名='原命令' 例如:查询系统中已经定义好的别名。
阅读全文
摘要:1、DockerFile文件说明 (1)DockerFile文件是什么 Dockerfile是用来构建Docker镜像的文本文件,文本内容包含了一条条构建镜像所需的指令、参数和说明。 即:Dockerfile仅仅是用来制作镜像的源码文件,也可以说成是一个脚本文件。 (2)如何查看Docker Hub
阅读全文
摘要:在Linux系统中默认的Shell就是Bourne-AgainShell(简称Bash),所以我们今天来掌握Bash的一些基本用法。 1、history历史命令 (1)历史命令的查看 在终端执行history命令,就会显示出在系统当中已经执行过的命令。 [root@localhost ~] # hi
阅读全文
摘要:1、数据卷容器的说明 (1)什么是数据卷容器 一个容器中已经创建好的数据卷,其它容器通过这个容器实现数据共享。那么这个容器,称之为数据卷容器。(也可以说叫父容器) (2)数据卷容器的作用 数据卷容器的作用就是,实现多个容器间的数据传递共享。 如果你有一些持续更新的数据需要在容器之间共享,最好创建数据
阅读全文
摘要:在讲Shell脚本之前,要先说一个我们之前学过的命令,echo命令。 echo命令是Linux中最基础的命令,也是很常用的命令,特别是在写Shell脚本的时候,可能会经常被用到,虽然echo命令非常基础,但是功能还算丰富。 1、echo命令的作用 用于打印输出文本(字符串)。 在脚本中echo命令常
阅读全文
摘要:1、简单了解一下DockerFile 我们这里先简单的概括一下DockerFile: Dockerfile就是用来构建Docker镜像的构建文件,是一个命令脚本。 通过这个脚本可以生成镜像,镜像是一层一层的,而脚本也是一个个的命令,每个命令都是一层。 (理解到这里就可以了) 2、通过DockerFi
阅读全文
摘要:实战:解决MySQL的数据持久化的问题! 总体步骤: 搜索镜像 拉取镜像 查看镜像 启动镜像 操作容器(重点) 停止容器 移除容器 1、搜索镜像 搜索MySQL镜像,也可以在Docker官方镜像仓库中进行搜索。 下载第一个就可以,是官方镜像OFFICIAL。 2、拉取镜像 我们就拉取一个MySQL
阅读全文
摘要:Volume:即数据卷。 Docker Volume命令能让容器从宿主主机中读取文件,或从容器中持久化数据到宿主主机内,让容器与容器产生的数据分离开来,一个容器可以挂载多个不同的目录。 Volume的生命周期是独立于容器的生命周期之外的,即使容器删除了,Volume(数据卷)也会被保留下来,Dock
阅读全文
摘要:1、验证容器和宿主机之间数据共享 通过上面的操作,接下来我们演示一下通过数据卷的挂载,实现容器和宿主机之间的数据共享。 步骤1:在宿主机中的HostDataVolume目录中创建host.txt文件。 # 查看宿主机当前位置 [root@192 HostDataVolume]# pwd /home/
阅读全文
摘要:1、什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷)。 当Docker容器运行的时候,会产生一系列的数据文件,这些数据文件会在关闭Docker容器时,直接消失的。但是其中产生部分的数据内容,我们是希望能够把它给保存起来,另作它用的。 所以我们期望: 将应用与运
阅读全文
摘要:1、commit命令作用 在运行的容器中,并在镜像的基础上做了一些修改,我们希望保存起来,封装成一个新的镜像,方便我们以后使用,也就是提交容器副本,使之成为一个新的镜像。 即:docker commit,从容器创建一个新的镜像。 例如: 我们以Tomcat镜像为例,运行启动Tomcat镜像后得到To
阅读全文
摘要:1、Pytest参数化说明 软件测试中,输入相应值,检查期望值,是常见测试方法。 在自动化测试中,一个测试用例对应一个测试点,通常一组测试数据是无法完全覆盖测试范围的,所以需要参数化来传递多组数据。 Unittest单元测试框架使用DDT进行数据驱动测试,Pytest是使用@pytest.mark.
阅读全文
摘要:1、conftest.py文件介绍 conftest.py文件是Pytest框架里面一个很重要的东西,它可以在这个文件里面编写Fixture函数,这个Fixture函数的作用,就相当于Unittest框架里面的setup()前置函数和teardown()后置函数,虽然Pytest框架也有setup(
阅读全文
摘要:1、分层的镜像 我们可以去下载一个镜像,注意观察下载的日志输出,可以看到Docker的镜像是一层一层的在下载。 思考:为什么Docker镜像要采用这种分层的结构呢? 最大的好处,我觉得莫过于是资源共享了! 比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需在磁盘上保留一份Base镜像,同时
阅读全文
摘要:1、镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时环境、库、环境变量和配置文件。 即:所有的应用,直接打包成Docker镜像,就可以直接跑起来! 2、Docker镜像获取的方式 从仓库中拉取镜像(do
阅读全文
摘要:1、Portainer介绍 (1)Portainer 是一款轻量级的图形化管理工具,通过它我们可以轻松管理不同的 Docker 环境。Portainer 部署和使用都非常的简单,它由一个可以运行在任何 Docker 引擎上的容器组成。 (2)Portainer 功能十分全面,提供状态显示面板、应用模
阅读全文
摘要:步骤1:搜索镜像 使用docker search命令进行搜索。 建议大家去Docker官方镜像仓库去搜索,地址https://hub.docker.com/,可以看到详细的帮助文档,和镜像的仓库源所支持的版本。 步骤2:下载Tomcat镜像 使用docker pull命令,从Docker镜像库中拉取
阅读全文
摘要:步骤1:搜索镜像 使用docker search命令进行搜索。 建议大家去Docker官方镜像仓库去搜索,地址https://hub.docker.com/,可以看到详细的帮助文档,和镜像的仓库源所支持的版本。 步骤2:下载Nginx镜像 使用docker pull命令,从Docker镜像库中拉取镜
阅读全文
摘要:13、进入正在运行的容器并以命令行交互 我们通常使用容器的方式都是后台运行模式,如果需要进入容器,则有两种方式。 docker attach 容器ID docker exec -it 容器ID /bin/bash(常用) 查询当前虚拟机的镜像。 [root@192 ~]# docker images
阅读全文
摘要:提示:接上一篇 9、后台启动容器 后台启动容器也叫启动守护式容器。 命令:docker run -d 镜像ID或镜像名 查看本地镜像。 [root@192 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 300
阅读全文
摘要:有镜像才能创建容器,这是根本前提。 我们下载一个CentOS镜像作为演示。 [root@192 ~]# docker pull centos Using default tag: latest latest: Pulling from library/centos 7a0437f04f83: Pul
阅读全文
摘要:1、查看本地镜像 命令:docker images,列出本地宿主机上的镜像。 (1)命令说明 # 查看本地镜像 [root@192 docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest d1165
阅读全文
摘要:1、docker version命令 命令:docker version,作用是显示显示Docker的版本信息。 # 显示docker的版本信息 [root@192 docker]# docker version Client: Docker Engine - Community Version:
阅读全文
摘要:9、ids参数说明 ids参数就是给每一个变量起一个别名。 示例: import pytest data = [("孙悟空", 666), ("猪八戒", 777), ("沙和尚", 888)] # ids参数的个数要与params参数的个数相同,用的很少 @pytest.fixture(param
阅读全文
摘要:5、addfinalizer关键字 yield是当用例执行完之后,会执行yield后面的代码,但用例不能有return返回值。 addfinalizer实现功能跟yield一样,但是用例可以return参数,传给后面用例。 示例1: import pytest @pytest.fixture() d
阅读全文
摘要:1、Fixture装饰器的用途 做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用Fixture来实现。 测试用例的前置条件可以使用Fixture实现,比直接使用Pytest框架的setup()和teardown()函数更加灵活。 Fixture是Pytest用于将测
阅读全文
摘要:1、setUp()和tearDown()函数介绍 之前学过Unittest测试框架,知道前置setup()函数和后置teardown()函数非常好用,在每次用例开始前和结束后都去执行一次。 当然还有更高级一点的setupClass()函数和teardownClass()函数,需配合classmeth
阅读全文
摘要:Docker架构图: 我们依照Docker架构图进行Docker基础概念的说明。 1、Docker的底层原理 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器是一个运
阅读全文
摘要:Docker官方镜像仓库地址:https://hub.docker.com/,因为是该地址是国外地址,如果我们使用的镜像从这里下载,就会非常非常的慢。 所以,我们需要配置一个Docker的国内镜像仓库地址,可以使用阿里云的镜像仓库,这就是Docker配置阿里云镜像加速器。 前提,注册一个阿里云账号。
阅读全文
摘要:1、查询Docker安装过的包 执行yum list installed | grep docker或# rpm -qa|grep docker命令。 [root@localhost docker]# yum list installed | grep docker docker-ce.x86_64
阅读全文
摘要:Docker官方提供方便用户操作的安装脚本,用起来是非常方便。但是要注意的是,使用脚本安装Docker,是安装最新版本的Docker。 注意:不建议在生产环境中使用安装脚本。因为在生产环境中一定不要最新版本,一定要用一个成熟稳定版。如果没有安全性更新,只是简单的常规的功能性更新,并且更新的功能中没有
阅读全文
摘要:CentOS环境下的Docker官方推荐的三种安装方式 yum安装方式 本地RPM安装方式 脚本安装方式 如果无法使用yum方式安装Docker,可以通过先下载Docker的RPM包,然后在本地进行安装。 这种方式在工作的时候推荐使用,因为容易统一环境。 1、下载Docker的RPM安装包 (1)方
阅读全文
摘要:1、pytest-html插件 Pytest可以通过命令行方式,生成xml/html格式的测试报告,并存储于用户指定路径。 需要用到pytest-html插件。 安装方式:执行命令pip install pytest-html。 (1)插件使用方式: 命令格式:--html=用户路径/report.
阅读全文
摘要:通过yum安装Docker的时候,安装20版本的Docker没有出现问题,在安装17版本的时候,出现了问题。 问题复现,下面记录一下这个问题。 1、问题复现 (1)安装17.03版本Docker 执行 [root@localhost ~]# yum install docker-ce-17.03.0
阅读全文
摘要:CentOS环境下的Docker官方推荐的三种安装方式 yum安装方式 脚本安装方式 本地rpm安装方式 1、前提 Docker要求CentOS系统的内核版本高于3.10。 通过 uname -r命令查看你当前的内核版本 [root@localhost ~ ] # uname -r 3.10.0-9
阅读全文
摘要:1、什么是Docker? 2010年dotCloud公司在旧金山成立,PAAS平台的服务供应商;2013年dotCloud更名为Docker股份有限公司(Docker,Inc)。Docker公司专注开源容器引擎的开发,他们的容器引擎产品就叫Docker,基于Go语言开发,并遵从Apache2.0协议
阅读全文
摘要:1、云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化技术和容器技术的关系。 首先有一个大前提就是一个房间只允许一家人来住。这个房间很大,500平米,有床、有厨房、有卫生间。你一家一共就3口人,就你一家人住,别人家只好再找房子,好浪费,资源利用率好低啊。
阅读全文
摘要:本篇文章为转载,原文链接:https://cloud.tencent.com/developer/article/1116709 这篇文章写的很好,让我一下就看明白了。就不再自己进行总结了。 1、什么是容器? 容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。 如下图所
阅读全文
摘要:虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层没有固定的墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最
阅读全文
摘要:本篇文章为转载,原文链接:https://blog.csdn.net/ZT7524/article/details/102480773 个人感觉该篇文章总结的不错,(概念性的东西)不用自己总结了。 在过去几年中,虚拟化一直是数据中心和企业技术的重点,大量企业已经使用云计算和其他解决方案实现了虚拟化。
阅读全文
摘要:1、虚拟化的概念 虚拟化是指通过虚拟化技术将计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 2、为什么出现虚拟化 由于x86服务器的限制,许多IT组织必须部署多个
阅读全文
摘要:云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备,计算设备一般是指CPU、内存和硬盘,输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。 一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出
阅读全文
摘要:上一篇文章详细介绍了什么是云计算: 云是一种服务,可以像使用水、电、煤那样按需使用、灵活付费,使用者只需关注服务本身。 云计算的资源是动态扩展且虚拟化的,通过互联网提供,终端用户不需要了解云中基础设施的细节,不必具有专业的云技术知识,也无须直接进行控制,只要关注自身真正需要什么样的资源,以及如何通过
阅读全文
摘要:云计算这个词,相信大家都非常熟悉。 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前。伴随它一起出现的,还有这些概念名词——OpenStack、Hypervisor、KVM、Docker、K8S等。 这些名词概念,全部都属于云计算技术领域的范畴。 对于初学者来说,理解这些概念的具体含义并不是一件
阅读全文
摘要:1、日志模块封装 首先我们把之前学过的代码语句封装到模块的方法中。 可以把该模块封装到commo目录中。 """ 简单封装log方法 我们之后也可以把一些常量提取的配置文件中。 自己网上去学习。 """ import os import time import logging.handlers #
阅读全文
摘要:1、basicConfig()函数说明 此函数,通过创建一个带有默认Formatter(格式器)的StreamHandler(处理器),并将其添加到根日志记录器中来初始化基本配置。 如果根日志记录器没有定义处理器,则logger.debug(), logger.info(),logger.warni
阅读全文
摘要:1、概括理解 了解了四大组件的基本定义之后,我们通过图示的方式来理解下信息的传递过程: 也就是获取的日志信息,进入到Logger日志器中,传递给处理器确定要输出到哪里,然后进行过滤器筛选,通过后再按照定义的格式进行日志的输出。 2、详细说明 描述上面这个图的日志流处理流程: 1)在用户代码中进行日志
阅读全文
摘要:1、把日志信息保存到文件中 代码如下所示: """ logging模块是Python的内置模块,不需要安装。 步骤: 1,创建一个把日志信息保存到文件中的处理器FileHandler 2,把文件处理器添加到logger中 3,把格式器传入到文件处理器中 """ # 导入logging模块 impor
阅读全文
摘要:1、logger类用法 logger类:logger用于提供日志接口,常用于配置和发送日志消息。 我们一般使用logging.getLogger(name)方法来获得一个logger对象。 其中,可选参数name指定日志器名称,默认为“root”。 常用方法包括: logger.setLevel()
阅读全文
摘要:1、日志的作用 从事与软件相关工作的人,应该都听过“日志”一词。 日志就是跟踪软件运行时事件的方法,为了能够在程序运行过程中记录错误。 通过日志记录程序的运行,方便我们查询信息,以便追踪问题、进行维护和调试、还是数据分析。 并且各编程语言都形成了各自的日志体系和相应的框架。 日志的作用总结: 程序调
阅读全文
摘要:1、为什么要有生成器 Python在数据科学领域可以说是很火,我想有一部分的功劳就是它的生成器了吧。 我们知道我们可以用列表储存数据,可是当我们的数据特别大的时候,列表中的数据都是放在内存中,受到内存限制,列表容量肯定是有限的,而且还会降低计算机的性能。 如果仅仅需要访问前面几个元素,那后面绝大多数
阅读全文
摘要:1、迭代器对象的创建 迭代器是一种可以被遍历的对象,并且能够作用于next()函数,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往后遍历,不能回溯。不像列表,你随时可以取后面的数据,也可以返回头取前面的数据,迭代器通常要实现两个基本方法next()和iter()。 概
阅读全文
摘要:1、迭代的概念 (1)什么是迭代 迭代就是单向地、逐个地访问某个容器中的元素的行为。 简单说迭代就是循环。 (2)迭代和遍历的区别 迭代是遍历的一种特例,遍历(traverse)是可以在数据结构上来回的游走,不仅可以往前,还可以往后,同时还能保证不重不漏的,迭代是单向的,逐个的,而且只来一次。 2、
阅读全文
摘要:Python 类中,凡是以双下划线 "__" 开头和结尾命名的成员(属性和方法),这些特殊成员存在着一些特殊含义,都被称为类的特殊成员(特殊属性和特殊方法)。 我们把特殊属性也可以称之为魔法属性,或者内置类属性。 1、魔法属性__name__ __name__是用来标识模块名字的一个系统变量。 这里
阅读全文
摘要:在Python语言中,有些方法名比较特别,在名称的前后各有两个下划线,这样的方法往往具有特殊的意义,我们统称为魔法方法,也叫特殊方法。需要注意的是,我们在创建自定义方法时要避免这样的格式,防止造成不必要的冲突。 Python的魔法方法有很多,我们主要介绍常用的几个魔法方法。以后需要用到其他的魔法方法
阅读全文