容器

Spring的基础知识点,面试常问

 ̄綄美尐妖づ 提交于 2019-12-27 02:02:27
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。 常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spring Core:核心类库,提供IOC服务; Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等); Spring AOP:AOP服务; Spring DAO:对JDBC的抽象,简化了数据访问异常的处理; Spring ORM:对现有的ORM框架的支持; Spring Web:提供了基本的面向Web的综合特性,例如多方文件上传; Spring MVC:提供面向Web应用的Model-View-Controller实现。 2、Spring 的优点? (1)spring属于低侵入式设计,代码的污染极低; (2)spring的DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性; (3)Spring提供了AOP技术,支持将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用。 (4)spring对于主流的应用框架提供了集成支持。 3、Spring的AOP理解: OOP面向对象,允许开发者定义纵向的关系

Docker系列001-Docker概述

穿精又带淫゛_ 提交于 2019-12-27 01:44:19
本人微信公众号,欢迎扫码关注! 引言 Docker是一个开源的容器引擎,在搞清楚它是什么之前,必须先了解什么是 容器 。 什么是容器 先看一下官方介绍: 容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 容器化软件适用于基于Linux和Windows的应用,在任何环境中都能够始终如一地运行。 容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。 什么是Docker Docker是世界领先的软件容器平台。 Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docke最初实现是基于LXC。 Docker能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件。 用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 Docker思想 集装箱 标准化:

docker 使用

巧了我就是萌 提交于 2019-12-27 00:00:45
docker出现极大的提高了生产力,借助docker可快速搭建测试环境,下面看看docker的用法吧,命令还挺多的 一. 安装 yum install -y docker-ce service start docker docker 底层利用了Linux容器技术(LXC),内核要求 2.6.32 以上版本,此处安装社区版本。 二. 基础命令 显示本机镜像 docker version #本机安装镜像 docker images #删除镜像 docker rmi redis 三. 安装mysql 手动安装mysql,需要各种配置,很容易出错。利用docker几条命令就可以搞定mysql安装。 3.1 查找mysql镜像 docker search mysql 3.2 安装 docker pull mysql 默认下载最新版本,相当于docker pull mysql:latest,可指定版本号,从 docker中央仓库 查找版本。 docker pull mysql:5.7.28 3.3 启动mysql docker run -itd --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 1e4405fe1ea9 -i 交互环境,-t 伪终端,-d 后台启动。如果不指定-d,会直接进入容器环境。 -name 容器名称 -p

docker简易教程

久未见 提交于 2019-12-26 23:40:33
docker ps 列出正在运行的container docker ps -a 列出所有的containers docker start container_id 启动container docker attach container_id 进入container docker stop id 停止container docker rm 容器名 #删除容器 docker info #查看系统相关信息 进入docker后,service ssh start开启ssh服务 https://blog.csdn.net/dreamweaverccc/article/details/89305849 https://github.com/ufoym/deepo Docker的container里运行juypter notebook 首先是在container中安装pip,然后安装jupyter notebook 更改某些设置 #执行如下命令,会生成jupyter配置文件,会生成配置文件.jupyter/jupyter_notebook_config.py: jupyter notebook --generate-config #在配置文件.jupyter/jupyter_notebook_config.py中修改以下参数: c.NotebookApp.open_brower = False

docker存储

放肆的年华 提交于 2019-12-26 23:17:49
一、docker 存储 1. storage driver 容器由最上面一个可写的容器层,以及若 干只读的镜像层组成,容器的数据就存放 在这些层中。这样的分层结构最大的特性 是 Copy-on-Write: 1.新数据会直接存放在最上面的容器层。 2.修改现有数据会先从镜像层将数据复制 到容器层,修改后的数据直接保存在容器 层中,镜像层保持不变。 3.如果多个层中有命名相同的文件,用户 只能看到最上面那层中的文件。 分层结构使镜像和容器的创建、共享以及分发变得非常高效,而这些都要归功于 Docker storage driver 2.storage driver 选型 Docker 支持多种 storage driver,有 AUFS、Device Mapper、Btrfs、OverlayFS、VFS 和 ZFS。它们都能实现分层的架构,同时又有各自的特性。对于 Docker 用户来说,具体 选择使用哪个 storage driver 是一个难题,因为: 1.没有哪个 driver 能够适应所有的场景。 2.driver 本身在快速发展和迭代。 不过 Docker 官方给出了一个简单的答案: 优先使用 Linux 发行版默认的 storage driver。 二、Data Volume Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被

centos7下安装docker(13docker存储)

两盒软妹~` 提交于 2019-12-26 23:16:50
Docker为容器提供了两种存放数据的资源: 1.storage driver管理的镜像层和容器层 2。Data volume Storage driver 之前我们学习镜像的时候知道镜像的分层结构: 盗图 容器有最上面的一个可写的容器层组成,以及若干的只读的镜像层组成,容器的数据就存放在这些只读的镜像层中,这样分层的最大特性就是Copy-on-Write: 1.新数据会直接放在最上面的容器层中; 2.修改现有数据会先从镜像层将数据复制到容器层中,修改后的数据直接保存在容器层中,镜像层不变; 3.如果多个层中有相同的命名文件,用户只能看到最上面的一层的文件 分层结构使镜像和容器的创建,共享以及分发变得非常高效,而这些都要归功于Docker storage driver。正是docker storage driver 实现了多层数据的堆叠并为用户提供一个单一的合并之后的统一视图 docker 支持du多种的storage driver,有AUFS, Device Mapper,Btrfs,OverlayFS,VFS和ZFS,他们都能实现分层的架构,同时又有各自的特性,对于docker 用户来讲,具体使用那种storage driver是一个难题,因为: 1.没有那种storage driver能适应所有的场景; 2.driver本身在快速发展和迭代 不过,docker

Docker系列13:容器编排(1)

爱⌒轻易说出口 提交于 2019-12-26 21:30:37
一、容器编排基础 1、容器编排概念 可以指定各个容器中的程序是有依赖关系的 比如有个web服务必须在mysql正常的情况下,才能运行,那么这个时候就是web容器是依赖mysql容器的,只有mysql容器正常启动,web容器才能启动。 2、容器编排工具 docker compose k8s k3s 二、compose详解 1、什么是compose Docker Compose 将所管理的容器分为三层,分别是工程(project)、服务(service)、容器(container) Docker Compose 运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例 2、安装compse 方法1:用提供的这个conpose文件,将这个文件放到/usr/local/bin 方法2:用epel和extra源中的安装包 1)配置yum源 [root@host1 ~]# cat /etc/yum.repos.d/epel.repo [epel] name=epel baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7Server/x86_64/ enabled=1 gpgcheck=0 2)安装docker-compose [root

69道Spring面试题和答案

烈酒焚心 提交于 2019-12-26 18:41:35
目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2. 使用Spring框架的好处是什么? 轻量: Spring 是轻量的,基本的版本大约2MB。 控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面的编程(AOP): Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器: Spring 包含并管理应用中对象的生命周期和配置。 MVC框架 :Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。 事务管理: Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。 异常处理: Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。 3. Spring由哪些模块组成

kubernetes nodePort、targetPort、port、containerPort图解

半城伤御伤魂 提交于 2019-12-26 18:33:21
1 . nodePort 外部机器可访问的端口。 比如一个Web应用需要被其他用户访问,那么需要配置type=NodePort,而且配置nodePort=30001,那么其他机器就可以通过浏览器访问scheme://node:30001访问到该服务,例如http://node:30001。 例如MySQL数据库可能不需要被外界访问,只需被内部服务访问,那么不必设置NodePort apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: NodePort ports: - port: 30080 targetPort: 80 nodePort: 30001 selector: name: nginx-pod apiVersion: v1 kind: Service metadata: name: mysql-service spec: ports: - port: 33306 targetPort: 3306 selector: name: mysql-pod 2 . targetPort 容器的端口(最终的流量端口)。targetPort是pod上的端口,从port和nodePort上来的流量,经过kube-proxy流入到后端pod的targetPort上,最后进入容器。

从零开始のcocos2dx生活(十)ScrollView

*爱你&永不变心* 提交于 2019-12-26 16:34:12
文章目录 简介 基础变量 ScrollViewDelegate Direction _dragging _container _touchMoved _bounceable _touchLength create setContentSize deaccelerateScrolling maxContainerOffset 和 minContainerOffset 触摸的各阶段 onTouchBegan onTouchMoved onTouchEnded 简介 scrollView是在一定可视范围内通过滚动看到更大范围的方法,可视的范围是绑定在滚动视图上的容器。 容器有两个界限,一个是容器偏移,一个是为了回弹设置的延伸的长度。 基础变量 ScrollViewDelegate 设置委托函数实例,继承并重写下面的方法,可以在滚动和缩放时使用回调函数 virtual void scrollViewDidScroll ( ScrollView * view ) { } ; virtual void scrollViewDidZoom ( ScrollView * view ) { } ; //使用 scrollView - > setDelegate ( this ) ; ///<添加委托 virtual void scrollViewDidScroll ( ScrollView *