试用开源软件的优劣势

由于现在容器化的热度,大部分软件都有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、查询stackoverflow,发现最简单的办法还是修改宿主机的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设置的更多相关文章

  1. 林帆:Docker运行GUI软件的方法

    继上周的“Kubernetes v1.0特性解析”分享之后,本周我们邀请到ThoughtWorks咨询师林帆为大家带来主题为“Docker运行GUI软件的方法”的分享. 嘉宾简介:林帆,Thought ...

  2. docker安装各类软件

    安装Docker Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本 1 安装一些必要的系统工具: sudo yum install -y ...

  3. Docker这个新软件究竟是用来干嘛的???

    http://dockone.io/article/378 尝试新软件 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试.时间非常宝贵,正是得 ...

  4. 微服务分布式电商项目学习笔记(三)---- docker介绍安装以及使用docker安装软件(2020/7/10)

    其实在介绍docker的使用和安装之前应该还要介绍虚拟机的安装与配置,以及虚拟网络的配置,但是我使用的是vmware,而视频课使用的是vagrant,这一块我简看的,因此没有过多的介绍,至于vmwar ...

  5. 基于Docker安装常用软件

    基于Docker安装常用软件 本实验介绍如何基于Docker安装常用的软件,具体包括: Ubuntu Cetnos Nginx Node.js PHP MySQL Tomcat Redis Mongo ...

  6. 基于Ubuntu下以Docker方式gitlab软件的部署

    基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...

  7. 安装docker及使用docker安装其他软件(手动挂载数据卷)

    中秋明月,豪门有,贫家也有,极慰人心 Linux安装docker 可以参考官方的安装文档 centos安装docker: https://docs.docker.com/engine/install/ ...

  8. Docker 试用

    Docker还是从.net core 了解的 百度百科 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可 ...

  9. 编译安装常用包+阿里镜像源-常用资源-系统-下载-科莱软件下载-docker仓库包-安全圈-杏雨梨云-图形界面安装-docker私有双仓库-阿里源报错处理-centos7目录大小

    yum install apr-util apr-util-devel apr apr-devel pcre pcre-devel zlib zlib-devel openssl openssl-de ...

随机推荐

  1. jmeter--001.介绍、下载与安装

    一.介绍 使用场景: -1.接口测试 -2.性能测试 .... 特点: -1.开源.轻量级.插件化 -2.适合自动化和持续集成 二.下载(Windows环境) 下载网址:http://jmeter.a ...

  2. Java 读取 Json格式的 内容

    一.Json 报文格式如下: 二.获取 Json 报文中字段的内容 import java.io.IOException; import com.fasterxml.jackson.core.Json ...

  3. [LeetCode] Escape The Ghosts 逃离鬼魂

    You are playing a simplified Pacman game. You start at the point (0, 0), and your destination is (ta ...

  4. 更改checkbox样式css

    checkbox {  width: 20px; height: 20px;  background-color: #d6bfa6; border: #d6bfa6; -webkit-border-r ...

  5. Linux filesystem

    文件系统的运作与操作系统的文件数据有关.较新的操作系统的文件数据除了文件实际内容外,通常含有非常多的属性,例如Linux操作系统的文件权限(rwx)与文件属性(属主.属组.时间参数等).文件系统通常会 ...

  6. LeetCode 50 - Pow(x, n) - [快速幂]

    实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10输出: 1024.00000 示例 2: 输入: 2.10000, 3输出: 9.26100 示例 ...

  7. SHA256的总结与Go实现

    SHA256在线验证链接:SHA256 online hash function My Golang github源码 :https://github.com/kumataahh/Golang-too ...

  8. Nginx(二)-服务模式运行nginx之WINSW

    虽然使用命令行控制ngix很简单,但是如果作为一个服务工作的话能更方便地启动.停止或者设置依赖项. 这里使用开源项目Windows Service Wrapper 来实现. github下载地址:ht ...

  9. Python 中文分词(结巴分词)

    特点: 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: 搜索引擎模式,在精确模式的基础上,对长词 ...

  10. Spark入门到精通--(第八节)环境搭建(Hadoop搭建)

    上一节把Centos的集群免密码ssh登陆搭建完成,这一节主要讲一下Hadoop的环境搭建. Hadoop下载安装 下载官网的Hadoop 2.4.1的软件包.http://hadoop.apache ...