试用开源软件的优劣势
由于现在容器化的热度,大部分软件都有docker official镜像,那么使用docker就是试用软件很好的方法:
优势:
1、可以免去安装部署的过程。
2、不会对当前系统环境产生任何影响。
3、占用资源极少。
不太像劣势的劣势:
1、不能用来进行性能测试。不过性能测试本身对硬件环境和软件环境都有一定要求,即使自己部署依旧需要较多配置和准备。
2、少量软件的官方镜像版本并不能跟上软件版本更新。(例如ES)
3、少量软件需要进行奇怪的设置,但是这些大部分在镜像主页都有说明。(还是ES)
例:测试ES的各种接口
1、去dockerhub官网找到ES的镜像,https://hub.docker.com/_/elasticsearch/
1.5、如果dockerhub下载镜像太慢,可以使用阿里云加速dockerhub的功能(反正免费)
1.5.5、你要用gcr的镜像?最简单的方法翻X和人肉翻X选一个,都不行可以考虑通过dockerhub下载gcr的镜像,不过本文不涉及k8s安装部署,所以不提这部分了。
2、找到pull command:docker pull elasticsearch
3、执行pull command。
4、看看镜像的使用说明(主要是找到启动container的命令)。
docker run -d elasticsearch
5、启动镜像。
6、使用。
#上面是大部分软件的正常过程,应该已经结束了,但是ES有些奇怪的问题:
7、我要干的工作是测试ES的java接口,所以在java工程中加入了以下配置
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.6.10</version>
</dependency>
8、最早我用的是RELEASE版本,发现连不上ES,而且也连不上以前单机部署的ES。
9,发现dockerhub上latest竟然是5.6.10而不是6.3.1?
10、修改dependecy到上面那个5.6.10版本,发现还是连不上,但是能连上单机部署的ES了。
11、检查一下由于java driver连接的是9300端口,也就是说需要ES是以完整集群设置来启动才行。
12、查询docker hub页面的cluster设置发现:
One example of adding clustering support is to pass the configuration on the docker run
:
$ docker run -d --name elas elasticsearch -Etransport.host=0.0.0.0 -Ediscovery.zen.minimum_master_nodes=1
13、运行这条命令发现镜像启动后会自动关闭,怀疑出错。
14、把-d去掉,发现是由于vm.max_map_count配置的问题。
15、查询*,发现最简单的办法还是修改宿主机的vm.max_map_count配置。
16、sudo sysctl -w vm.max_map_count=262144
17、再运行即可,记得暴露端口:
sudo /kubernetes/local/bin/docker run -d -p 9200:9200 -p 9300:9300 elasticsearch -Etransport.host=0.0.0.0 -Ediscovery.zen.minimum_master_nodes=1
18、使用正常。
总结:
正常来讲,对ES较为熟悉的用户应该知道9300是集群接口,如果仔细查看docker hub主页说明应当能知道这个需要启动cluster mode,但是如果只是想试用ES的话,这就比较坑了,而且docker run -e和docker run --systemctl设置vm.max_map_count都不方便(好吧我没成功)。但是除了ES外,其他什么mysql,tomcat,mongodb等软件试用起来都没问题,而且当db需要一个测试库时也可用来当测试数据库试用,不会影响任何其他系统环境,非常方便适合使用。(本文不涉及生产环境,所以mongodb设置数据存储系统这些生产环境才会用到的操作根本用不上,但是如果想用docker进行生产环境部署一定要考虑好存储等设置)
使用docker试用各种软件及docker-ES设置的更多相关文章
-
林帆:Docker运行GUI软件的方法
继上周的“Kubernetes v1.0特性解析”分享之后,本周我们邀请到ThoughtWorks咨询师林帆为大家带来主题为“Docker运行GUI软件的方法”的分享. 嘉宾简介:林帆,Thought ...
-
docker安装各类软件
安装Docker Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本 1 安装一些必要的系统工具: sudo yum install -y ...
-
Docker这个新软件究竟是用来干嘛的???
http://dockone.io/article/378 尝试新软件 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试.时间非常宝贵,正是得 ...
-
微服务分布式电商项目学习笔记(三)---- docker介绍安装以及使用docker安装软件(2020/7/10)
其实在介绍docker的使用和安装之前应该还要介绍虚拟机的安装与配置,以及虚拟网络的配置,但是我使用的是vmware,而视频课使用的是vagrant,这一块我简看的,因此没有过多的介绍,至于vmwar ...
-
基于Docker安装常用软件
基于Docker安装常用软件 本实验介绍如何基于Docker安装常用的软件,具体包括: Ubuntu Cetnos Nginx Node.js PHP MySQL Tomcat Redis Mongo ...
-
基于Ubuntu下以Docker方式gitlab软件的部署
基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...
-
Docker 试用
Docker还是从.net core 了解的 百度百科 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可 ...
-
编译安装常用包+阿里镜像源-常用资源-系统-下载-科莱软件下载-docker仓库包-安全圈-杏雨梨云-图形界面安装-docker私有双仓库-阿里源报错处理-centos7目录大小
yum install apr-util apr-util-devel apr apr-devel pcre pcre-devel zlib zlib-devel openssl openssl-de ...
-
理解Docker(2):Docker 镜像
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
随机推荐
-
CSS3的透明度使用
大家在敲代码的时候总会遇见一个问题.就是透明度opacity 会导致整个元素内全部都会改变,通常的方法是在同级元素后面再加上一个元素标签,但是现在有CSS3 ,我们完全不用这么做了.看代码 <! ...
-
推荐一个Jenkins 插件 Build Failure Analyzer
Wiki https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer 作用: 按照预定的build failure 去解析co ...
-
[HDOJ5543]Pick The Sticks(DP,01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:往长为L的线段上覆盖线段,要求:要么这些线段都在L的线段上,要么有不超过自身长度一半的部分 ...
-
c判断括弧是否匹配
这里我没有用堆栈.直接用一个数组input[SIZE]接收用户的输入,在遍历数组,对数组进行操作.已经匹配好的括弧直接用#号覆盖,最后遍历数组.如果数组只有#号,没有其他元素,则匹配.否则不匹配. / ...
-
HDOJ2005第几天
第几天? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
-
应用程序连接oracle rac
10g rac vip漂移的目的不是让client不加改变的连接过来而是让client尽快收到一个连接终止的包,然后由client去连接tnsnames中配置的下一个地址.和没有vip相比, 使用vi ...
-
RowSet的使用
ResultSet是使用Jdbc编程的人入门和常用的操作数据库的类,自 JDK1.4开始,易于使用RowSet接口被引入.RowSet 接口扩展了标准java.sql.ResultSet接口.RowS ...
-
[Swift]LeetCode833. 字符串中的查找与替换 | Find And Replace in String
To some string S, we will perform some replacement operations that replace groups of letters with ne ...
-
Stars HDU - 1541
HDU - 1541 思路:二维偏序,一维排序,一维树状数组查询即可. #include<bits/stdc++.h> using namespace std; #define maxn ...
-
记一次redis key丢失的问题排查
最近测试环境的redis经常性发生某些key丢失的问题,最终的找到的问题让人大吃一惊. 复盘一下步骤: 1.发现问题 不知道从某天开始,后台经常报错,原因是某些key丢失,一开始不在意,以为是小bug ...