容器

docker相关

喜夏-厌秋 提交于 2020-03-01 04:31:17
docker简介 什么是docker Docker 是应用最广泛的开源容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 docker实质就像虚拟机一样,就好像是一个具有独立操作系统的真实机器 虚拟机是有真正的linux内核的,真实需要通过 .ios 文件安装操作系统 而我们的docker共享linux宿主机内核,只有一个linux文件系统 容器 容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样 容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制) docker与虚拟机比较 91G docker 126MB docker安装 安装依赖包 yum install - y yum - utils device - mapper - persistent - data lvm2 添加Docker软件包源(否则doker安装的不是新版本) yum - config - manager \ - - add - repo \ https : // download . docker . com / linux / centos / docker - ce . repo 安装Docker CE yum install - y docker - ce 启动Docker服务并设置开机启动 systemctl start

Docker nginx 均衡负载功能https配置及遇到的问题

瘦欲@ 提交于 2020-03-01 03:34:10
自己的一个服务器因为想使用均衡负载,这样方便创建各种不同的服务器环境。 由于要开发小程序,所以要配置个https,研究了挺久的,这里大概写一下自己的一些配置总结。 均衡负载Https的配置,证书要配置的主nginx下,因为我用的是nginx转发到lnmpa下的容器,刚开始搞不清楚在哪里配置https证书。就是docker分容器下进行配置了https证书,但是没有成功还出现了400错误什么的。后来解决思路是直接新建一个映射服务器80和443端口的容器,并在这个容器上配置了https证书,配置成功。于是把配置的文件保存下来,用于之后配置均衡负载的分容器下。 之后,重新建了nginx转发主容器,映射服务器的80和443端口,再建分容器,把它的80和443端口映射到服务器的其它一些端口。 之后,在主nginx容器下配置upstream到对应的域名,并配置对应的域名,转发到分容器的443端口,可是用之前分容器配置好的https提示错误,于是就把分容器下的证书引用注释掉了,显示就正常,如果不是https访问域名就正常,但是是https访问是就出现了相关的一些错误。后来在主容器下的nginx的域名下配置了443和引用证书,显示400错误,出现的错误有 1、SSL_ERROR_RX_RECORD_TOO_LONG 这个是要在主nginx下域名配置下的listen 443后尾加上default

Docker--5.容器格式

大憨熊 提交于 2020-03-01 03:01:27
容器格式 最初,Docker 采用了 LXC 中的容器格式。从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。 对更多容器格式的支持,还在进一步的发展中。 来源: https://www.cnblogs.com/shiyw/p/12387727.html

一文看懂docker容器技术架构及其中的各个模块

风格不统一 提交于 2020-03-01 01:24:45
概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块。 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 registry负责docker registry有关的身份认证、镜像查找、镜像验证以及管理registry mirror等交互操作。 image 负责与镜像源数据有关的存储、查找,镜像层的索引、查找以及镜像tar包有关的导入、导出操作。 reference负责存储本地所有镜像的repository和tag名,并维护与镜像id之间的映射关系。 layer模块负责与镜像层和容器层源数据有关的增删改查,并负责将镜像层的增删改查映射到实际存储镜像层文件的graphdriver模块。 graghdriver是所有与容器镜像相关操作的执行者。 1、docker client docker client 是docker架构中用户用来和docker daemon建立通信的客户端,用户使用的可执行文件为docker,通过docker命令行工具可以发起众多管理container的请求。 docker client发送容器管理请求后,由docker daemon接受并处理请求,当docker client 接收到返回的请求相应并简单处理后,docker client 一次完整的生命周期就结束了

docker详细的基础用法(转)

a 夏天 提交于 2020-03-01 00:22:49
1、docker安装 debian7安装docker 参考地址:http://www.webmaster.me/server/installing-docker-on-debian- wheezy-in-60-seconds.html echo deb http://get.docker.io/ubuntu docker main | sudo tee/etc/apt/sources.list.d/docker.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 sudo apt-get update sudo apt-get install -y lxc-docker #四行命令,Docker就安装好了。下面创建一个ubuntu虚拟系统: docker pull ubuntu #此处是从官网拉取名为ubuntu的image,也可手动在 https://index.docker.io上搜索想要的镜像。 docker run -i -t ubuntu /bin/bash #创建一个容器,-t是临时终端。 ubuntu12.04、windows、macOS安装docker 参考docker中文文档http://www

架构 —— 服务容器

允我心安 提交于 2020-02-29 22:44:47
在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用bind方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包: $this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app['HttpClient']); }); 注意到我们接受容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。 绑定一个单例 singleton 方法绑定一个只需要解析一次的类或接口到容器,然后接下来对容器的调用将会返回同一个实例: $this->app->singleton('FooBar', function ($app) { return new FooBar($app['SomethingElse']); }); 绑定实例 你还可以使用 instance 方法绑定一个已存在的对象实例到容器,随后对容器的调用将总是返回给定的实例: $fooBar = new FooBar(new SomethingElse);$this->app->instance('FooBar', $fooBar); 2.1 绑定接口到实现 服务容器的一个非常强大的特性是其绑定接口到实现的能力。我们假设有一个

Spring

允我心安 提交于 2020-02-29 22:27:55
1.Spring 简介 概述 Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如日志、安全、事务等,复用性强。 Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IoC 与 AOP。IoC 使得主业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring 容器统一管理,自动“注入”。(如 UserService userService=new UserServiceImpl())而 AOP 使得系统级服务得到了最大复用,且不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是 控制反转(IoC) 和 面向切面编程(AOP) 。简单来说,Spring 是一个分层的 Java SE/EE full-stack(一站式)轻量级开源框架。 Spring 由 20 多个模块组成

docker 容器互访三种方式

纵饮孤独 提交于 2020-02-29 21:34:07
我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢。下面介绍三种方法解决容器互访问题。 方式一、虚拟ip访问 安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问。 [root@CentOS ~]# ifconfig ...... docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:35ff:feac:66d8 prefixlen 64 scopeid 0x20<link> ether 02:42:35:ac:66:d8 txqueuelen 0 (Ethernet) RX packets 4018 bytes 266467 (260.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4226 bytes 33935667 (32.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ......

spring-mvc源码阅读笔记

爱⌒轻易说出口 提交于 2020-02-29 19:37:13
简要的做一些spring-mvc部分的源码学习笔记 Spring-mvc做的工作主要是俩大方面吧:一个是初始化一个ioc容器,一个是mvc部分的控制和视图模块的实现。 先说下ioc容器的初始化部分:ioc的初始化主要在俩个地方,一个是contextLoadListener里,另一个在DispatcherServlet里。 contextLoadListener: 在contextLoadListener里初始化的ioc容器是整个web项目里的一个父容器。整个初始化的过程也比较简单,首先是实例化一个context,具体是哪个context类呢,我们可以在web.xml的配置里指定,不过我们一般也不会指定这个参数,所以就直接实例化了一个默认的context-XmlWebApplicationContext。实例化以后,就开始加载我们配置文件里的那些bean。配置文件的位置我们一般都在web.xml里进行了配置。具体的加载的过程都在refresh()方法里。 这refresh方法里我们一般比较关心的是不同类型的bean的注册的过程还有实例化的过程。具体的注册过程就不再说了。 在注册完成后,会首先实例化一些ioc关心的bean,比如各种processor,还有一些特定类型的bean,具体可以细看下代码。然后会把实例化后的一些在ioc容器里有特定功能的bean进行注册

如何在Docker容器里运行Docker

守給你的承諾、 提交于 2020-02-29 18:18:48
在部署集群的时候,如果没有现成机器,可以在本机部署Docker,运行几个容器作为节点服务器使用。你可能想在节点里也部署个Docker,但是直接在容器里安装Docker是有问题,还好有人已经有解决方案-dind,详见: https://github.com/jpetazzo/dind 。 直接在本机启动容器即可 docker run --privileged -d docker:dind dind没有提供centos版本的Dockerfile,需要自己改一下。 现在Centos 7容器里启动Docker,会报错:Failed to get D-Bus connection: Operation not permitted,这是因为centos 7用fakesystemd替代了systemd,可以在centos7下systemd解决问题。 我对dind Dockerfile做了小修改,可支持运行centos7版本的dind,详见: https://github.com/AixC/dind_centos 。 来源: https://www.cnblogs.com/TatuCz/p/7878193.html