容器

Docker基础

半城伤御伤魂 提交于 2020-01-22 00:53:39
Docker常用命令 0x01 帮助命令 docker version docker info docker --help 0x02 镜像命令 Docker images 列出本地主机上的镜像名 Docker search 镜像名 从dockerhub上搜索镜像 docker pull 镜像名 下载镜像 docker rmi 镜像名ID 删除镜像 0x03 容器命令 前提:有镜像才能创建容器 新建并启动容器 docker run [OPTIONS] IMAGE [Command] 参数 [OPTIONS]说明: ​ --name=“容器名”:为容器指定一个名称; ​ -d:后台运行容器。并返回容器ID(即启动守护式容器); ​ -i:以交互模式运行容器 ​ -t:为容器重新分配一个伪输入终端 ​ -P:随机端口映射 ​ -p:指定端口映射,有以下四种格式 ​ ip:hostPort:containerPort ​ ip::containerPort ​ hostPort:containerPort ​ containerPort 列出当前所有正在运行的容器 docker ps [OPTIONS] [OPTIONS]说明: ​ -a:列出当前所有正在运行的容器+历史上运行过的 ​ -l:显示最近创建的容器 ​ -n:显示最近n个创建的容器 ​ -q:静默模式,只显示容器编号 ​ -

Doker01

本秂侑毒 提交于 2020-01-22 00:41:02
英[ˈdɒkə(r)] 码头工人; 传统的交付模式:只给软件,不给环境==>研发和运维的 运行环境 差异导致纠纷。 大部分软件都是部署在虚拟机上。 Docker是基于Go语言实现的一种容器技术,比如,它可以包含【程序+文档+配置+数据】等,可以理解成一个集装箱,实现一次封装,到处运行。 www.docker.com--官网(速度慢) www.docker-cn.com--中国雷锋做的中国版的官网(貌似打不开) www.hub.docker.com --仓库,比较慢 --改用阿里云镜像加速器 vim /etc/docker/daemon.json 建议Centos7版,老版本不支持Docker Docker CE社区办 Docker EE 企业版-收费 官网下载安装步骤: https://docs.docker.com/install/linux/docker-ce/centos/ 1, $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 2, $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 命令中的反斜杠:续行符 3,安装 $ sudo yum

镜像管理

狂风中的少年 提交于 2020-01-21 23:45:09
一、什么是镜像 二、搜索镜像的两种方式 2.1 网页搜索 2.2命令搜索 #以mysql镜像为例 docker search mysql 三、使用国内源命令 由于国外源下载慢,使用国内源加速。 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh-s http://04be47cf.m.daocloud.io 国内源参考链接 https://www.cnblogs.com/happy4java/p/11206839.html 四、镜像管理命令 PS:ubuntu在云计算领域使用率比较高,我们以ubuntu镜像为例,镜像都是只读的。 4.1 pull #下载乌班图镜像 docker pull ubuntu 4.2 push 提交镜像到私有仓库或docke hub上 docker push mysql 4.3 run -itd --name #创建一个容器名字为test01使用ubuntu镜像 docker run -itd --name test01 ubuntu 4.4 ps #查看运行的容器,会出现一串进程ID docker ps 4.5 attach #进入容器,相当于进入了ubuntu docker attach test01 4.6 退出容器 ctrl+p+q 4.7 start/stop/rm

C++的容器(一):c++中所有容器的共通操作函数

无人久伴 提交于 2020-01-21 23:28:58
C++中的所有容器都支持三个核心能力: 所有容器提供的都是‘value语义’而非‘reference语义’。可以通过指针元素来实现某些功能。 容器的所有元素有一个固定的次序(order),你可以以相同的次序多次遍历每个元素。并且每个容器也提供“迭代器生成器”函数,运用这些生成的迭代器可以遍历整个容器。 你无法保证程序的每个操作都安全。操作者必须确保操作函数的参数都符合要求,因为容器不会抛出异常。 容器(Container)的共通操作函数集(使用ContType表示所有容器类型): 函数 功能 ContType c 产生一个不含有任何元素的空容器 ContType c1(c2)  产生一个一模一样的容器,所有元素都是按值复制的 ContType c(beg, end) 复制p[beg, end)区间内的元素,作为容器初值 c.~ContType()   删除所有元素 c.size() 返回容器中的元素数量 c.empty() 判断容器是否为空,相当于(size()==0),但这个函数可能更快 c.maxsize() 返回元素的最大可能数量 c1==c2 判断是否c1等于c2 c1!=c2 判断是否c1不等于c2 c1 < c2 判断是否c1小于c2 c1 > c2 判断是否c1大于c2 c1 <= c2 判断是否c1小于等于c2 c1 >= c2 判断是否c1大于等于c2 c1 =

Spring IoC - Spring IoC 的设计

╄→尐↘猪︶ㄣ 提交于 2020-01-21 17:11:47
前言 本文为解读Spring IoC 模块源码的开篇介绍。介绍Spring IoC 的相关概念与设计。 What is IoC 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递(注入)给它。 – 摘自维基百科 大型应用中,需要多个类组合工作来实现业务逻辑。这使得每个对象都需要在工作的时候获取到与其合作的对象的引用。 如果这个获取过程要靠自身来实现,那么,代码会变得高度耦合并且难以测试。这对复杂的OOP系统的设计是非常不利的。 在OOP系统中,对象封装了数据和对数据的处理动作,对象的依赖关系体现在了对数据和方法的依赖上。这些依赖关系,可以通过把对象的依赖注入交给框架或IoC容器来完成。 简单来说: 控制:当前对象对其内部成员对象的控制权/获取组装对象的过程 反转:上述的过程/控制权,交由专门的第三方组件(容器或者说平台)来管理 这种从具体对象手中,交出控制的做法,在解耦代码的同时提高了代码的可测试性。好处具体如下: 不用自己组装,拿来就用。 享受单例的好处

C++_list容器

与世无争的帅哥 提交于 2020-01-21 03:39:54
list容器简介 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,以让其更简单高效。 与其他的序列式容器相比,list通常在任意位置进行插入、移除元素的执行效率更好。 与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问。 list还需要一些额外的空间,以保存每个节点的相关联信息。 list容器使用 (1)构造函数 list():构造空list list(size_type n, const value_type& val = value_type()):构造list中包含n个val list(const list& x):拷贝构造 list(InputIterator first, InputIterator last):用(first, last)区间中的元素构造list # include <iostream> # include <list> using namespace std ; int main ( ) { list < int > l1 ; list

linux小白成长之路7————Docker安装mysql

限于喜欢 提交于 2020-01-21 02:50:31
【内容指引】 从Docker检索mysql镜像; Mysql Docker镜像下载; 查看本地镜像列表; 设置Mysql的Docker镜像开机自动运行; 常用Docker指令及参数; 1.从Docker检索mysql镜像 指令: docker search mysql  2.镜像下载 指令: docker pull mysql  3.查看本地镜像列表 指令: docker images  4.设置Mysql的Docker镜像开机自动运行 指令: docker run --restart=always --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:latest  5.常用Docker指令及参数 1>.Docker镜像指令 镜像检索 Docker的镜像都放置在Docker官网的Docker Hub上,地址是https://registry.hub.docker.com。可在该网站搜索镜像,也可以用命令“docker search 镜像名”(如:docker search redis)检索。 镜像下载 docker pull 镜像名 查看本地镜像列表 docker images 删除镜像 docker rmi image-id 删除所有镜像 docker rmi $(docker

Docker——Cgroup资源限制

[亡魂溺海] 提交于 2020-01-21 01:18:33
一、Cgroup (1)Docker通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。 (2)Cgroup 是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源的机制。 Cgroup 子系统: 1、blkio:设置限制每个块设备的输入输出控制; 2、cpu:使用调度程序为 cgroup 任务提供 cpu 的访问; 3、cpuacct:产生 cgroup 任务的 cpu 资源报告; 4、cpuset:如果是多核心的 cpu,这个子系统会为 cgroup 任务分配单独的 cpu 和内存; 5、devices:允许或拒绝 cgroup 任务对设备的访问; 6、freezer:暂停和恢复 cgroup 任务; 7、memory:设置每个 cgroup 的内存限制以及产生内存资源报告; 8、net_cls:标记每个网络包以供 cgroup 方便使用; 9、ns:命名空间子系统; 10、perf_event:增加了对每个 cgroup 的监测跟踪能力,可以监测属于某个特定的 cgroup 的所有线程及运行在特定 CPU 上的线程。 二、使用 stress 工具测试 CPU 和内存 首先使用 Dockerfile 来创建一个基于 Centos 的 stress 的工具镜像: [root@localhost ~

kubernetes基础概念知多少

耗尽温柔 提交于 2020-01-21 00:26:10
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用、高扩展性和可预测性的方式来管理容器应用的生命周期。通过k8s,用户可以定义程序运行方式、部署升级策略、动态伸缩容,使得用户以一种更灵活可靠的方式来管理应用程序。 关于k8s,是一种对应用服务的打包、部署、监控等一整套生命周期的自动化管理平台,目前各大公司已在生产环境部署使用,同时k8s社区比较活跃,在未来一段时间内会越来越流行,可以说是以后服务部署的事实标准,对于Java开发者来说,你可以不直接使用它,但是不能不了解它。 总结来看,k8s特点如下: 自动装箱 :基于容器,结合调度策略将多种应用部署到同一节点上,提高资源利用率; 自我修复 :支持故障转移/重启,具有健康检查机制; 水平扩展 :通过命令手动执行扩容,可基于CPU等资源负载率来动态实现伸缩容; 服务发现/负载均衡 :通过KubeDNS(或CoreDNS)为系统内置了服务发现功能,为每个service配置DNS名称,service通过iptables或ipvs内建了负载均衡机制; 自动部署 :自动发布和回滚,支持灰度、增量发布等; 配置管理 :ConfigMap实现了配置数据与Docker镜像解耦,为开发部署提供了良好的灵活性; 批处理 :除了管理服务型应用之外,Kubernetes还支持批处理作业及CI(持续集成)