- 博客(32)
- 收藏
- 关注
原创 docker-使用Dockerfile定制镜像
#使用Dockerfile定制镜像从刚才的docker commit的学习中,我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题都会解决。这个脚本就是Dockerfile。Dockerfile是一个文本文件,其内包含了一条条的...
2020-03-20 09:32:32 2010 1
原创 docker-利用commit理解镜像构成
#利用commit理解镜像构成注意:docker commit命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。但是,不要使用docker commit定制镜像,定制镜像应该使用Dockerfile 来完成。如果你想定制镜像请查看下一小节。镜像是容器的基础,每次执行docker run的时候都会制定哪个镜像作为容器运行的基础。在这前的例子中,我们所使用的都是来自于Docker ...
2020-03-20 09:31:54 508
原创 docker-删除本地镜像
#删除本地镜像如果要删除本地镜像,可以使用docker image rm命令,其格式为:$ docker image rm [选项] <镜像1> [<镜像2> ...]#用ID、镜像名、摘要删除镜像其中,<镜像>可以像短ID、镜像长ID、镜像名汇总镜像摘要。比如我们有这么一些镜像:$ docker image lsREPOSITORY ...
2020-03-19 09:58:19 4276
原创 docker-列出镜像
#列出镜像要想列出已经下载下来的镜像,可以使用docker image ls命令。$ docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 5f515359c7f8...
2020-03-19 09:57:56 235
原创 docker-获取镜像
#获取镜像从Docker镜像仓库获取镜像的命令是docker pull。使用的格式为:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标]具体的选项可以通过docker pull --help 命令看到。Docker镜像仓库地址:地址的格式一般是<域名/IP>:[:端口号]。默认地址是Docker Hub仓库名:仓库名是...
2020-03-19 09:57:13 532
原创 Docker-基本容器-容器
#Docker容器镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行的实体。容器可以被创建、启动、停止、删除、暂停等容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID空间。容器内的进程是运行在...
2020-03-17 09:40:41 642
原创 Docker-基本概念-仓库
#Docker Registry镜像构建完成后,可以很容易的在当前主机上运行,但是,如果需要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry就是这样的服务一个 Dokcer Registry中可以包含多个仓库(Repository);每个仓库可以包含多个标签(tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标...
2020-03-17 09:40:08 248
原创 Docker-基本概念-镜像
#Dockerdocker镜像docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如:匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。分层存储因为镜像包含操作系统完整的root文件,其体积往往是庞大的,因此在Docker设计时,就充分利用Union FS的技术,将其设计...
2020-03-17 09:39:05 244
原创 计算机网络基础知识学习(一)
OSI,TCP/IP,五层协议OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、网络层、运输层、应用层。五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3(中继器,集线器,网管)数据链路层:PPP、FR、HDLC、VLAN、MAC(网桥,...
2019-11-15 18:03:08 327
原创 python笔试常考题目(三)
面向对象为对象user动态添加,然后删除属性nameuser.name = ‘ojbk’del user.name请简述一下对象selfself指的是Objectpython对象构造函数和析构函数分别是什么?构造函数:init析构函数:delpython类方法、静态方法定义关键字是什么?类方法使用装饰器@classmethod静态方法使用装饰器@staticm...
2019-10-22 13:57:28 147
原创 python笔试常考题目(二)
列出5个python标准库os:提供了不少与操作系统相关联的函数sys:通常用于命令行参数re: 正则匹配math: 数学运算datetime:处理日期时间json: 处理字典和Json格式urllib,types,cmath,,python实现列表去重的方法先通过集合去重,在转列表fun(args,**kwargs)中的args,**kwargs什么意思?可选参...
2019-10-22 13:44:18 253
原创 python笔试常考题目(一)
python内建数据类型有哪些整型–int布尔型–bool字符串–str列表–list元组–tuple字典–dict…int(“1.4”),int(1.4)输出结果? error和1字符串转化大小写 s.lower() s.upper()避免转义给字符串加哪个字母表示原始字符串? r , 表示需要原始字符串,不转义特殊字符用两种方法去空格 ...
2019-10-22 13:34:12 521
原创 递归
#递归递归:通俗来说程序调用自身的编程技巧称为递归。话不多说,实例解释例一:实际上这张图就很形象地表达出了递归,这句吓得我抱起了抱着抱着抱着我的小鲤鱼的我的我的我如果从字面意义上看可能看不出是什么意思,那么我们可以通过代码来实现同样的效果:function test(x) { console.log('抱着'); if (!x) { console.lo...
2019-08-27 19:29:10 486
原创 js 内置对象
#js 内置对象Arrayconcat 数据相加 var arr1=[1,2,3]; var arr2=[5,7,9]; var arr0=[0,0,0]; var arr3=arr1.concat(arr2,arr0);如果用+,则是把多个数组转换为字符串然后执行字符串相加。join var s1=arr1.join('-');//1-2-3slice...
2019-08-27 19:27:13 139
原创 js数组去重
js数组去重set集合去重(ES6新增) Set var arr = [1,23,4,3,2,3,4,3,0]; var res =new Set(arr); document.write([...res]);indexOf:遍历数组法 var arr=[2,8,5,0,5,2,6,7,2]; function unique1(arr){ var hash=[]...
2019-08-27 18:58:44 115
原创 js基本语法
#jsecmaECMA是“European Computer Manufactures Association”的缩写,中文称欧洲计算机制造联合会。是1961年成立的旨在建立统一的电脑操作格式标准–包括程序语言和输入输出的组织。ecmascript(ES)ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufa...
2019-08-26 19:46:04 372
原创 python格式化操作符
#1、python格式化操作符 符号 含义 %c 格式化字符及其ASCII码 %S 格式化字符串 %d 格式化整数 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点...
2019-07-25 19:40:44 2402
原创 python的代码编译、代码打包方法
#代码编译把代码编译成pyc文件 import py_compile py_compile.compile(r'code01.py')或者直接在terminal中运行 python -m py_compile code01.py编译完成直接删除原文件,直接运行pyc文件即可把一个目录下所有python源文件编译pyc一般来说,我们的工程都是在一个目录下的,一般不会说仅...
2019-07-25 19:40:06 1278
原创 python的内置模块、时间转换
#内置模块datetimetime import time from datetime import datetime,timedelta # time不是用来取时间 # for i in range(3): # print(i) # time.sleep(2)获取当前时间 date_now=datetime.now() print(...
2019-07-25 19:39:05 196
原创 python的os
#os获取当前目录 import os print(os.path.abspath('.')) print(os.getcwd()) #当前文件所处目录 print(os.path) #真正的系统目录 files = os.listdir(os.getcwd()) # 列出目录下的文件 #查看文件大小 for file in files: print(os.path....
2019-07-25 19:38:08 1201
原创 python的csv文件读取
csv文件读取csvcsv文件(Comma-Separated Values)是一种以逗号作为分隔符(当然也可以以其他字符作为分隔符)、以行为数据单位的纯文本数据文件.如果发现中文是乱码,那是因为data.csv文件的编码格式是utf-8而不是GBK,转为GBK即可在Excel中正常显示中文。写入csv数据格式 data=[ {'link_href': '/html/y...
2019-07-25 19:37:29 499
原创 文件I/O-excel
文件I/O-excel读写数据安装 openpyxl pip install openpyxl打开文件 from openpyxl import load_workbook from openpyxl.writer.excel import ExcelWriter try: workbook_ = load_workbook(u"data.xlsx") ...
2019-07-25 19:36:47 238
原创 python文件I/O
文件I/O打开和关闭文件-open() file object = open(file_name [, access_mode][, buffering])各个参数的细节如下:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参...
2019-07-25 19:36:06 179
原创 python模块(2)
模块import如何工作导入只发生一次2. 找到模块文件3. 编译成位码(需要时)4. 执行模块的代码来创建其所定义的对象Python把导入的模块存贮到sys.moudles表中,并在导入操作的时候检查该表,如果模块不存在,将会启动上面三个步骤。搜索大多数情况下,可以依赖模块导入的路径来搜索路径,不需要额外配置路径。但是,也可以自己预定义路径,那么搜索的顺序:程序...
2019-07-25 19:34:51 119
原创 python模块(1)
模块介绍Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。import(导入模块)module_a.py def add(a,b):...
2019-07-25 19:34:02 191
原创 函数装饰器(2)
函数装饰器高级最新版本最新版本的python导入了functools模块 from functools import wraps def debug(func): @wraps(func) def wrapper(name): print("[DEBUG]: enter {}()".format(func.__name__)) r...
2019-07-25 19:32:51 67
原创 函数装饰器
函数装饰器为什么要用装饰器?装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存...
2019-07-25 19:31:46 103
原创 python 函数
函数为什么要用函数?定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方...
2019-07-20 11:14:33 469
原创 python 迭代器 排列组合
迭代器概述迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象迭代器提供了一个统一的访问集合的接口。只要是实现了__iter__()或 getitem()方法的对象,就可以使用迭代器进行访问。序列:字符串、列表、元组非序列:字典、文件自定义类:用户自定义的类实现了__iter__()或__g...
2019-07-20 10:35:35 1024
原创 python queue
queue特性Queue是python中的标准库,可以直接 import queue队列是线程间最常用的交换数据的形式方法初始化 import queue q=queue.Queue(10) 构建长度为10的队列 q = queue.Queue(maxsize=3)包中的常用方法: Queue.qsize() 返回队列的大小 Queue.empty...
2019-07-20 10:12:19 238
原创 python sting类型
变量类型-String类型python变量分为可变性和不可变性两种,数字、字符串和元组是不可变性;列表和字典是可变性变量。 s='python' s[0]='P' #error引号单引号和双引号等价,可以嵌套使用 print('tom say:\"how are you\"') print('tom say:"how are you"')三引号三引号包含多行字符串常...
2019-07-20 10:07:29 329
原创 python set、list、tuple、dict总结
#1、set集合set是一个无序且不重复的元素集合。不重复(可去重)元素为不可变对象集合内部只能存放不可变的类型,数字、字符串、元组集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值set的创建和空集合 s=set() 添加 se.add(1)discard()-移除不存...
2019-07-20 10:01:05 207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人