Docker容器化技术总结
一.Docker基础 image:镜像,是一个只读模版,用来创建容器。 container: 容器,是一个可运行的镜像实例。 Dockerfile: 镜像构建的模版,描述镜像构建的步骤。通过镜像来创建容器,程序就跑在容器中。并且一个镜像可以随意创建N个容器,各个容器间相互隔离。 二.Docker的安装安装Docker 卸载旧版本1sudo apt-get remove docker docker-engine docker.io containerd runc /var/lib/docker的内容,包括镜像、容器、卷和网络,可以保留也可以删除。 运行安装 Docker 的命令:1sudo apt-get install -y docker.io 等待安装完毕,现在我们使用下面的命令启动 Docker:123systemctl start docker或者:sudo /etc/init.d/docker start 设置开机自动启动:1systemctl enable docker 查看 docker 版本:1docker...
Ubuntu相关问题及处理
Ubuntu下root用户无法通过SSH登录?如果你的Ubuntu是新安装的,你会发现root用户无法通过SSH登录。这是因为root权限太高可以做任何事,安全起见Ubuntu下的SSH默认不让root登录。 假如一个普通用户有sudo权限,那就可以以普通用户先SSH登录,然后在‘sudo -s’切换成root。这样可行但不是很方便。为了方便起见,我们可以通过修改SSH配置文件让root用户可以直接SSH登录。 打开ssh配置文件*/etc/ssh/sshd_config* 1vim /etc/ssh/sshd_config 找到下面这一行 1PermitRootLogin prohibit-password 将 上面的prohibit-password替换成yes 1PermitRootLogin yes 保存退出 重启sshd.service 1$ sudo systemctl restart sshd.service 完成后root就可以通过SSH登录了,当然需要输入root密码。 注:...
Python语法总结
一.python的基本数据类型。Python常见的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。 type(xx) #获取类型,返回值就是数据类型 isinstance(xx, yy ) #判断是否属于某一种类型,属于返回true,不属于返回false 1.Number(数字)Python3 支持** int、float、bool、complex(复数)**。 123>>> a, b, c, d = 20, 5.5, True, 4 + 3j#定义多个变量>>> print(type(a), type(b), type(c), type(d))#输出变量的类型<class 'int'> <class 'float'> <class 'bool'> <class...
面向对象设计模式理论总结-Java版
一. 什么是UML类图?UML类图是一种结构图,用于描述一个系统的静态结构。类图以反映类结构和类之间关系为目的,用以描述软件系统的结构,是一种静态建模方法。类图中的类,与面向对象语言中的类的概念是对应的,因此又称统一建模语言,类图是使用频率最高的UML图之一。 二. 类图中的表示方式1.类在类图中的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name、age和email这3个属性,以及modifyInfo()方法。对应代码: 123456789public class Employee { private String name; private int age; private String email; public void modifyInfo() { ... ...
开发人员必知的网络基础知识总结
一.网络分层模型1.什么是网络分层模型?为了减少网络设计的复杂性,大多数网络都采用了分层结构。在相同的网络中,处于第N层的机器之间使用第N层的协议进行通信。计算机网络的各层及其协议的集合被称为网络的体系结构,按照不同的维度,通常被分为七层、五层、四层网络结构。 2.七层网络模型开放式系统互联模型(Open System Interconnection Model,简称为 OSI 模型)是一种概念模型,由国际标准化组织提出,并试图成为计算机在世界范围内互连为网络的标准框架,它具有七层网络结构。主要是由:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)构成。 3.四层网络模型互联网协议套件(Internet Protocol Suite,IPS)是多个网络传输协议的集合,它为网际网络的基础通信提供架构支撑。由于该协议族中最核心的两个协议分别为 TCP(传输控制协议)和 IP(网际协议),因此它也被称为...
万字长文总结MySQL关系型数据库
数据库介绍什么是数据库?数据库的英文单词:data base,简称DB。数据库本质就是一个文件系统,它可以按照特定的格式把数据存储起来,可以方便对存储的数据进行增删改查操作。 数据库的分类目前数据库总共分为两个大类: 关系型数据库:是建立在关系模型基础上的数据库。(MySQL、Oracle、DB2、SQL Server等等)。 非关系型数据库(NO SQL):通常指数据之间无关系的数据库。(monggodb、redis等等)。 数据库服务器、数据库和数据表的关系数据库服务器是一台安装了一个数据库管理系统(比如: MySQL)的主机,通常会开放一个远程连接的端口(例如MySQL的3306端口)来对外提供数据服务,通过数据库管理系统(MySQL)可以创建并管理管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。在一个数据库中可以创建多张数据表,这些数据表是真正存储数据的载体。表的每一行称为一条记录(Record)。 SQL语言简介SQL(Structured Query...
Linux系统基础总结
一.Linux系统Linux 是一套自由和开放源码的类 Unix 操作系统,是基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 的设计与 UNIX 类似,但经过不断变革,它已可以在各种硬件上运行(从手机到超级计算机)。每个基于 Linux 的操作系统都包含 Linux 内核(管理着硬件资源)和一组软件包(构成了操作系统的其余部分)。 1.Linux内核linux内核kernel是操作系统的关键组件。它借助进程间通信和系统调用,在硬件级别上充当应用程序和数据处理之间的桥梁。每当将操作系统加载到内存中时,首先,将加载内核并将其保留在那里,直到操作系统关闭。 内核负责处理低级任务,例如任务管理,内存管理,风险管理等。Linux内核版本有两种:稳定版和开发版...
Python使用技巧
Python拼接字符串的几种方式123456"""1. 使用加号“+”连接字符串 用加号“+”连接两个字符串,连接后这两个字符串将连接成一个字符串。但需注意的是,不能用“+”连接字符串和数字,需要把数字使用str()函数转换成字符串,或者直接在数字两侧加带引号,再进行连接、""" 1234str11 = "hello"str12 = "world"str13 = str11 + str12print(str13) # helloworld 1""" 注: 但在python中,尽量少用加号“+”连接字符串,原因如下:在python中,String对象是定长对象,一旦创建,长度就不可变化,若是使用+号连接两个字符串,则会新开辟一段长度总和长度的内存,再将两个字符串memcpy进去。如果要连接N个String对象,则要进行N-1次内存申请和拷贝。...
Android APK反编译及逆向工程
一. 分析已经打好的apk.首先来简单的说明下Apk文件本质上其实是一个zip包。我们直接进行解压就能看到其中的目录。 1. 目录说明 AndroidManifest.xml:应用的全局配置文件 classes.dex:源代码编译成class后,转成jar,再压缩成dex文件,dex是可以直接在Android虚拟机上运行的文件。 lib文件夹:引用的第三方sdk的so文件。 META-INF文件夹:Apk签名文件。 res文件夹:资源文件,包括了布局、图片等等。 resources.arsc:记录资源文件和资源id的映射关系。 其中还有一个没有显示就是→assets文件夹:原始资源文件夹,对应着Android工程的assets文件夹,一般用于存放原始的网页、音频等等。 上述的这些说明...