容器

docker搭建tomcat javaweb环境

社会主义新天地 提交于 2019-12-09 00:07:51
还没有安装docker,可以参考下面链接 centos 安装 docker 1.下载centos镜像,并查看centos镜像的id $ docker pull centos $ docker images 2.下载jdk、tomcat 并放在宿主主机/data目录 $ wget http://mirrors .cnnic .cn /apache/tomcat/tomcat- 8 /v8 .5 .8 /bin/apache-tomcat- 8.5 .8 .tar .gz $ wget http://download .oracle .com /otn-pub/java/jdk/ 8 u111-b14/jdk- 8 u111-linux-x64 .tar .gz 3.运行容器 $ docker run -i -t -v / data / : / 25 c5298b1a36 /bin/bash (1)-i :表示容器接受输入 (2)-t:表示进入交互模式 (3)-v:表示挂载磁盘 [from]:[to] (4)25c5298b1a36:镜像id (5) /bin/bash:进入容器时执行的命令 4.进入容器后,解压好运行的程序,然后编写设置环境变量的脚本,因为每次运行容器都要重新设置环境变量 (1) $vi bashrc export JAVA_HOME=/jdk1. 8.0 _111

Docker简介

偶尔善良 提交于 2019-12-09 00:02:42
1. 虚拟化 1)什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间 的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚 拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计 算能力和资料存储。 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的 硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充 分利用 虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、 桌面虚拟化、服务虚拟化、虚拟机等等。 2)虚拟化种类 1)全虚拟化架构 虚拟机的监视器(hypervisor)是类似于用户的应用程序运行在主机的 OS 之上,如 VMware 的 workstation,这种虚拟化产品提供了虚拟的硬件。 2)OS层虚拟化架构 3)硬件层虚拟化 硬件层的虚拟化具有高性能和隔离性,因为 hypervisor 直接在硬件上运行,有利于控制 VM 的 OS 访问硬件资源,使用这种解决方案的产品有 VMware ESXi 和 Xen server Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层

在docker下的tomcat容器中部署war包的两种方式

北战南征 提交于 2019-12-09 00:00:45
在docker下的tomcat容器中部署war包的两种方式 在tomcat镜像中部署javaweb项目 打包javaweb项目 像通常的javaweb项目部署一样,首先需要将javaweb项目打成war包,具体不再详述。 查看tomcat镜像启动的容器 docker ps 记录下tomcat镜像启动的容器的ID或容器名称。 方法一 将war包放入到docker下的tomcat中 首先你是需要把war包放入到centos系统中,本文中将一个test.war的项目放入centos系统的主目录,这个通过ssh工具就可以放到centos中,大家应该都很熟悉。从centos中将test.war移动到docker下tomcat镜像启动的容器中。 docker cp test.war containerID:/usr/local/tomcat/webapps/ 说明: containerID 是你所启动tomcat镜像的容器ID或者容器名称也可以。 这是将test.war放到tomcat的webapps下 docker常用命令 这里为了方便理解,就以tomcat镜像为例。一行语法说明,一行例子。 通过镜像产生一个容器 docker run -p port1:port2 containerName:tag docker run -p 8080:8080 tomcat:latest

Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

孤者浪人 提交于 2019-12-08 23:47:12
通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一个定制的 Dockerfile 来 Docker 化Dockerize一个应用。 Docker 是一个过去两年来从某个 idea 中孕育而生的有趣技术,公司组织们用它在世界上每个角落来部署应用。在今天的文章中,我将讲述如何通过“Docker 化Dockerize”一个现有的应用,来开始我们的 Docker 之旅。这里提到的应用指的就是这个博客! 什么是 Docker? 当我们开始学习 Docker 基本概念时,让我们先去搞清楚什么是 Docker 以及它为什么这么流行。Docker 是一个操作系统容器管理工具,它通过将应用打包在操作系统容器中,来方便我们管理和部署应用。 容器 vs. 虚拟机 容器和虚拟机并不完全相似,它是另外一种提供 操作系统虚拟化 的方式。它和标准的虚拟机还是有所不同。 标准的虚拟机一般会包括一个完整的操作系统、操作系统软件包、最后还有一至两个应用。这都得益于为虚拟机提供硬件虚拟化的管理程序。这样一来,一个单一的服务器就可以将许多独立的操作系统作为虚拟客户机运行了。 容器和虚拟机很相似,它们都支持在单一的服务器上运行多个操作环境,只是,在容器中,这些环境并不是一个个完整的操作系统。容器一般只包含必要的操作系统软件包和一些应用

C++的vector容器清空

倖福魔咒の 提交于 2019-12-08 23:34:37
  c++内部STL库中自带了一个容器vetcor, 自带了清空方法——clear()。但是clear使用之后,并不能清空数据,其数据再未被覆盖之前是不会改变的,个人猜测clear仅仅把指针挪动到了起始位置,所以需要清空置值的话,就需要配合上resize方法,resize重分配之后是可以直接 [ ] 访问的。    reszie有被重载过一次,有两种实现方式:     1、void resize( std::size_t __new_size, int __x);     2、void resize( std::size_t __new_size);   多出来的x是想初始化后生成的数,(其实个人感觉gcc里的函数声明的原型应该是这样的 void resize( std::size_t __new_size, int __x = 0); 默x为0) 当然,也可以用循环的方式进行清空。(目前只能想到这些)   如果想要清空二维的vetcor,那就得一行行的clear和resize。 学习不易,诸君共勉! 来源: https://www.cnblogs.com/daker-code/p/12008620.html

Win10系统下 Dos窗口命令结合Idea-SpringBoot Maven项目 整合Docker部署项目

允我心安 提交于 2019-12-08 23:33:35
1.创建SpringBoot Maven项目 省略SpringBoot创建项目。。。。 2.加入打包build Docker的依赖 <!--打包 过滤掉test--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <!--加入maven插件“docker-maven-plugin”--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <!--<version>0.2.3</version>--> <version>1.0.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <imageTags> <imageTag>latest</imageTag> </imageTags> <dockerDirectory>src/main

组件及事件处理

人盡茶涼 提交于 2019-12-08 21:34:34
组件 : Java图形用户界面最基本组成部分是组件(Component)。组件是一个以图形化的方式显示在屏幕上并能与用户交互的对象,例如一个按钮一个标签等。组件不能单独显示出来,必须将组件放在容器中才可以显示出来类Java.awt.Component是许多组件类的父类,Component类中封装来了组件通用的方法和属性,如大小,组件对象,显示位置,颜色等。 常用的组件都是JComponent的子类: 1.JTextField(文本框):只允许用户输入单行文本,没有 append() 的方法,只能用setText输出字符串。构造函数输入一个参数。 2.JTextArea(文本区):多行文本,使用append()输出字符,构造函数两个参数。 3.JButton,JLabel... 常用容器 : JComponent是Container的子类。其子类创建的组件也是容器。JFrame是底层容器,中间容器必须添加到底层容器中才能发挥作用。 中间容器:JPanel(画板),.... 常用布局: BorderLayerout 布局:把容器划分为五个区域东,西,南,北,中。中间最大,对应的静态常量为CENTER,NORTH,SOUTH,WEST,EAST. 用法:对于采用这种布局的容器con,con.add(b,BorderLayerout.CONTER);(把组件b加到con的中间区域)。

海量数据中的TopK问题

青春壹個敷衍的年華 提交于 2019-12-08 18:34:14
1. 抛出问题 在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。例如,在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载最高的前10首歌等。 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆(就是上面提到的最小堆),即先将数据集按照Hash方法分解成多个小数据集,然后使用Trie树活着Hash统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出现频率最高的前K个数,最后在所有top K中求出最终的top K。 eg:有1亿个浮点数,如何找出其中最大的10000个? 2. 如何解决 1)全局排序法 这是最容易想到的方法,将数据全部排序,然后在排序后的集合中进行查找,最快的排序算法的时间复杂度一般为O(nlogn),如快速排序。 但是在32位的机器上,每个float类型占4个字节,1亿个浮点数就要占用400MB的存储空间,对于一些可用内存小于400M的计算机而言,很显然是不能一次将全部数据读入内存进行排序的。其实即使内存能够满足要求(我机器内存都是8GB),该方法也并不高效,因为题目的目的是寻找出最大的10000个数即可,而排序却是将所有的元素都排序了,做了很多的无用功。 2)局部淘汰法 该方法与全局排序法类似

Docker学习笔记,以及Redis/MariaDB的容器使用后台全自动启动

北城以北 提交于 2019-12-08 14:46:28
1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========Ubuntu 14.04/16.04(使用 apt-get 进行安装)====== # step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安装GPG证书 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # Step 4: 更新并安装Docker-CE sudo apt-get -y update sudo apt-get -y install docker-ce #

原生技术基础学习(基础概念)

依然范特西╮ 提交于 2019-12-08 13:11:32
云原生技术基础学习 这是阿里的一个技术公开课, 视频链接 基础 容器基本概念: namespace 资源视图隔离 cgroup 控制资源使用率 chroot 独立的文件系统 容器是一个视图隔离,资源可限制、独立文件系统的进程集合。 容器镜像: 运行容器所需要的所有文件集合 Dockerfile 来描述镜像构建步骤。 构建步骤所产生出文件系统的变化叫做 changeset disk snapshot, 提高分发效率,减少磁盘压力。 Kubernetes 的概念: Kubernetes 是自动化的容器编排平台, 包括部署、弹性、管理 核心功能: (kubernetes 的水平伸缩, 自动恢复, 调度) 服务发现与负载均衡 容器自动装箱 存储编排 自动容器恢复 自动发布与回滚 批量执行 水平伸缩 架构简介: Kubernetes 架构是一个比较典型的二层架构 和 server-client 架构。master 作为作为中央的控制节点会与Node 进行一个连接。 所有 UI,client 这些user侧组件只会和 Master 进行连接,把希望的状态或像执行的命令下发给master, master 会把这些命令或者状态下发给相应的节点,进行最终的执行。 Kubernetes 的 master 包含四个主要的组件: API Server, Contronller, Scheduler 以及