容器

Docker案例

人盡茶涼 提交于 2019-12-10 13:50:54
目录 文章目录 目录 @[toc] 关闭防火墙 启动或重启docker redis 加载镜像 启动容器 jedis 连接测试 新建测试项目 pom.xml 编写测试类 在容器中查看数据 启动多个 redis 容器 jedis 分片测试 在容器中查看数据 容器互联 创建docker虚拟网络 mysql 加载 mariadb 镜像 创建数据卷 启动 mariadb 容器,并挂载数据卷 进入容器,登录mysql测试 连接数据库,导入数据 tomcat 加载 tomcat 镜像 启动 tomcat 容器 访问测试 关闭防火墙 # 关闭防火墙 systemctl stop firewalld.service # 禁止防火墙开机启动 systemctl disable firewalld.service 启动或重启docker # 启动docker systemctl start docker # 重启docker systemctl restart docker redis 加载镜像 docker load < redis-docker-image.gz 启动容器 docker run -d --name redis7000 -p 7000:6379 redis jedis 连接测试 新建测试项目 pom.xml 添加 redis 和 junit 依赖 < project xmlns = "

容器之分类与各种测试(四)——multimap

♀尐吖头ヾ 提交于 2019-12-10 11:43:30
multiset和multimap的具体区别在于,前者的key值就是自己存储的value,后者的key与value是分开的不相关的。 例程 #include<stdexcept> #include<string> #include<cstdlib> #include<cstdio> #include<algorithm> #include<iostream> #include<ctime> #include<map> using namespace std; long get_a_target_long() { long target = 0; cout<<"target(0~"<<RAND_MAX<<"):"; cin>>target; return target; } string get_a_target_string() { long target = 0; char buf[10]; cout<<"target(0~"<<RAND_MAX<<"):"; cin>>target; snprintf(buf, 10, "%ld", target); return string(buf); } int compareLongs(const void* a, const void* b) { return (*(long*)a - *(long*)b); } int

docker

馋奶兔 提交于 2019-12-10 09:55:33
一,概述 虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以更好的应用这些资源。一般,虚拟化资源包括计算能力和资料存储。 虚拟化技术可以解决高性能的物理硬件产能过剩和老旧硬件产能过低的重组重用,透明化底层物理硬件,最大化利用物理硬件,充分利用资源。 Docker是一个开源项目,诞生于2013年初,基于go语言实现。Docker项目的目标是实现轻量级的操作虚拟化解决方案。Docker的基础是linux容器(LXC)等技术。在LXC的基础上docker做了进一步的封装,让用户不需要关心容器的管理,使得操作更为简便。 Docker的优点,上手快,职责逻辑分类,快速高效的开发周期,鼓励使用面向服务架构。与传统虚拟机相比,docker启动速度快,占用体积小。 Docker是一个客户端服务器架构。Docker客户端只需要向docker服务器或者守护进程发出请求,服务器或者守护进程将完成所有工作返回结果。Docker提供了一个命令工具docker以及一整套restful api。可以在同一台宿主机上运行docker守护进程和客户端,也可从本地的docker客户端连接到运行在另一个宿主机上的远程docker守护进程。 镜像是构建docker的基石。用户基于镜像来运行自己的容器

docker网络模式

限于喜欢 提交于 2019-12-10 08:23:13
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: 1.host模式,使用--net=host指定。 2.container模式,使用--net=container:NAME_or_ID指定。 3.none模式,使用--net=none指定。 4.bridge模式,使用--net=bridge指定,默认设置 一、host模式 Docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip。 众所周知,Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口 二、container模式

docker搭建Java开发环境

淺唱寂寞╮ 提交于 2019-12-10 05:50:38
docker搭建Java开发环境 centos7.2 + Tomcat7 + JDK1.8 步骤如下: 获取centos7.2 docker镜像 #通过docker search 软件名 命令获取centos docker search centos //此时可以看到可用的centos镜像列表 #获取centos镜像 docker pull centos : 7.2 #通过docker images 可以查看本地镜像 docker images 启动容器容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。 //启动容器命令 docker run options containsID argument #options参数说明 #-i:表示以“交互模式”运行容器 #-t:表示容器启动后会进入其命令行 #-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录> : <容器目录> # --name : 指定容器的名称,如果未指定容器名称则会随机生成一个名称 docker run --name JavaWeb -itv /root/software/ : /mnt/software/ ff426288ea90 /bin/bash #启动容器 docker start JavaWeb #登录容器 docker attach

AmazeUI布局

若如初见. 提交于 2019-12-10 04:59:44
  AmazeUI使用了12列的响应式网络系统。使用时需在外围容器上添加.am-g class,在列上添加.am-u-[sm|md|lg]-[1-12] class,然后根据不同的屏幕需求设置不同的宽度。    am-u-sm-* 0-640px am-u-md-* 641px-1024px am-u-lg-* 1025px+  AmazeUI以移动优先的理念开发,若不设置大屏的网络,应用到小屏幕的样式会继承到更大的屏幕上。  am-g:网格的行,用于包裹列,清楚列的浮动  am-u-xx-n:网格中的列,xx为视口区间,n为该列所占的份数  sm区间两列是等分的,md区间为1:2划分,lg区间为1:3划分  .am-g的宽度别设置为100%,为限定最大宽度,会随着窗口自动缩放。可以在行内添加,am-g-fixed class,将最大宽度(max-width)限制为1000px。  全宽的行 .am-container。am-container和网格列设置了相同的左右padding,可以和网格内容对齐。  网格拆分时使用了非证书百分比(100/12*n),浏览器在计算的时候会有差异,最终所有列的宽度可能没有达到100%,导致网格右侧会有很小的空隙。实际使用中,若网格数不足12,需要在最后一列加上.am-u-end。   响应式布局  响应式辅助类控制元素显隐 am-show-md

Docker容器和本机之间的文件传输。

有些话、适合烂在心里 提交于 2019-12-10 04:59:30
Docker容器和本机之间的文件传输。 2017年05月14日 21:35:20 阅读数:11492 主机和容器之间传输文件的话需要用到容器的ID全称。 获取方法如下: 1.先拿到容器的短ID或者指定的name。 2.然后根据这两项的任意一项拿到ID全称。 有了这个长长的ID的话,本机和容器之间的文件传输就简单了。 docker cp 本地文件路径 ID全称:容器路径 1 进入容器之后就能够看到刚才上传进来的文件了。 如果是容器传输文件到本地的话,反过来就好了: docker cp ID全称:容器文件路径 本地路径 1 进行挂载的话可以参考这篇: 利用Volume在主机和Docker容器文件传输。 来源: oschina 链接: https://my.oschina.net/u/199525/blog/1814868

浅析STL之STL是什么,包含什么,怎么用呢?

半腔热情 提交于 2019-12-10 04:54:52
初识STL——基础篇 一、STL到底是什么 STL从广义上分为:容器、算法和迭代器。迭代器是容器和算法的粘合剂。 又细分为六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器;彼此间可以组合套用。 容器通过空间配置器取得数据存储空间,算法通过迭代器存储容器中的内容,仿函数可以协助算法完成不同的策略变化,适配器可以修饰仿函数。 总的来说,STL不仅是一个可复用的组件库,而且是包装了算法和数据结构的软件框架。 二、STL三大组件 1、容器 数组(array)、链表(list)、栈(stack)、队列(queue)、集合(set)、映射表(map) 根据数据在容器中的排列特性,分为序列式容器和关联式容器。序列式容器:强调值得排序,如Vector、Deque、List;关联式容器:元素在容器中并没有保存元素置入容器时得到逻辑顺序,如Set、Map。 2、算法 质变算法:用了之后会改变元素内容的方法,如替换、删除; 非质变算法:用了之后不会改变元素内容的方法,如查找、遍历。 3、迭代器到底是个啥东西呢? 迭代器它是一个抽象的设计概念,在程序里实际并没有直接对应于这个概念的实物。它是一种方法,能够遍历某个容器当中的元素,而又不用暴露该容器的内部表述方式。而我们操作的时候,可以把它理解为一个指针来操作。 三、常用容器 1. string容器(在头文件中) C风格字符串

控制反转(IoC)与依赖注入(DI)

心不动则不痛 提交于 2019-12-10 04:19:12
原文: http://zhangjunhd.blog.51cto.com/113473/126530 1. 控制反转 (Inversion of Control) 与依赖注入 (Dependency Injection) 控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。 IoC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:<1>依赖查找(Dependency Lookup): 容器 提供回调接口和上下文环境给 组件 。EJB和Apache Avalon都使用这种方式。<2>依赖注入(Dependency Injection):组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。后者是时下最流行的IoC类型,其又有接口注入(Interface Injection),设值注入(Setter Injection)和构造子注入(Constructor Injection)三种方式。 图1 控制反转概念结构 依赖注入之所以更流行是因为它是一种更可取的方式:让容器全权负责依赖查询,受管组件只需要暴露JavaBean的setter方法或者带参数的构造子或者接口