docker-compose.yml

docker的编排功能即compose,最基本的语法就是写docker-compose.yml文件来实现,其中一些配置信息根据个人理解作以下笔记:

  1. 对于compose来说主要属性有三个即version、networks和service`
version: '3'
//此处networks相当于定义了docker里network,方便service里使用,
//此处network(后边统一叫网络)同时可以设置几种类型,
//具体参考docker的network类型,此处是overlay;
//subnet是指定网段信息;
//service是要指定的服务,对于本文中来说就是hub、chrome和firefox。
networks: private: driver: overlayipam:config:- subnet: 172.19.0.0/24
services:
  1. compose的结构就是一个hub节点加一堆小的小docker节点,其中hub是控制节点;
  2. 对于service来说,无论是hub还是chrome\firefox\ie,里边同样需要指定一些配置信息
 chrome://image就是docker里常见的镜像,此处由于使用 selenium,//所以selenium/node-chrome-debug是直接从官方拉取到的镜像。image: selenium/node-chrome-debug//依赖于hub节点depends_on: - hubports: - "5801:5800"environment: - HUB_PORT_4444_TCP_PORT=4444- HUB_PORT_4444_TCP_ADDR=hub//NODE_MAX_SESSION是每个node的浏览器并发数量,默认是5- NODE_MAX_SESSION=1deploy: replicas: 1//指定了该service使用的网络networks: - private
  1. docker-compose使用的命令详解
//此命令是创建命令,--compose-file是指定yml文件位置,此处用的相对路径,
//selenium是名称,比如你的名称是selenium,那么你刚才yml文件
//定义的网络private,名字就成了selenium_private
docker stack deploy --compose-file=./docker-compose.yml selenium
//此命令是运行docker,selenium_chrome=3是指定谷歌浏览器节点的数量
docker service scale selenium_chrome=3 selenium_firefox=3
//以下是查看docker启动情况的命令
docker service ls
docker stack ps selenium
//在调试的时候如果不删除刚才创建的同名服务会报错,使用以下命令删除刚才创建的selenium
docker stack rm selenium

对于如何使用selenium进行并发测试,一台机器的并发节点数受限是什么原因本人也不太清楚,有三条想法:

【1】先增加selenium_chrome=3中节点的数量,找到最大能启动的节点数比如说是500,其次是修改NODE_MAX_SESSION的值,比如说是2,那么要看看是不是还能达到500,那么此时的selenium_chrome值需要是1000,因为每个节点并发是2,如果500节点都启动了,那么并发的服务数就是1000.同理NODE_MAX_SESSION=4对应是2000
【2】由于查阅资料看到说selenium本身并不是并发测试,而是配套的代码是开启多线程才达到并发测试的,那么如果对于一个系统如果500节点是并发上限,那么我们可以尝试开两个虚拟机,如果每个都能启动500节点,那么两台也就是1000并发,更多的并发只要增加虚拟机数量就行了。
【3】compose文件里定义了网络,虽然不能给节点指定和分配IP,但是docker里的网络一个网段下只要255个IP,有可能是受这个限制影响并发数量,所以尝试在networks里定义多个网络,然后给不同服务指定不同网络试试,这样的话就有个问题了,,,,hub都不和其他节点在同一网络里,控制个鬼。。。。。。。。。。

selenium入门配置docker-compose文件详解相关推荐

  1. 附005.Docker Compose文件详解

    一 Docker Compose文件简介 compose文件使用yml格式,主要分为了四个区域: version:用于指定当前docker-compose.yml语法遵循哪个版本 services:服 ...

  2. Docker Compose 命令详解

    一.docker-compose命令对象与格式 二.命令选项 三.命令使用说明 build 构建(重新构建)项目中的服务容器 config 检测compose文件的错误 up 启动服务 down 停止 ...

  3. Docker Compose 配置文件详解

    先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说: version: '2' services:web:image: dockercloud/hell ...

  4. kubernetes基础之docker file文件详解(百分之百空手接白刃篇)

    docker file让你有意想不到的收获 针对这个docker file自己也是找了好久,想着怎么可以用自己的话,讲出来.当你学习一个东西的时候,不是因为你学会了他就过,而是你还要试着给别人讲出来, ...

  5. vue-cli脚手架配置基础文件详解/新手入门必看

    vue-cli 脚手架中webpack 配置基础文件详解 需要Word版本 的小伙伴可以发我邮件2445478193@qq.com 一.前言 vue-cli是构建vue单页应用的脚手架,输入一串指定的 ...

  6. Linux配置启动挂载:fstab文件详解

    Linux配置启动挂载:fstab文件详解 [日期:2014-12-23] 来源:Linux社区 作者:aceking10 [字体:大 中 小] fstab文件介绍 fstab文件包含了你的电脑上的存 ...

  7. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  8. docker entrypoint入口文件详解

    docker entrypoint入口文件详解 pasting Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较 [k8s]args指令案例-彻底理解docke ...

  9. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  10. Docker服务编排详解——(六)

    Docker服务编排详解--(六) 一.Docker Compose 概述 二.Docker Compose 安装 三.Docker Compose 使用 一.Docker Compose 概述 Co ...

最新文章

  1. python中关键字 表示空类型_Python小知识:如何在Python 3中转换数据类型
  2. hdu-2066(Dijkstra)
  3. CentOS 7 下安装 mysql ,以及用到的命令
  4. 51nod 1118 机器人走方格 解题思路:动态规划 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
  5. 小林求职记(六)踩过Dubbo坑,回答印象深,干货整理
  6. php-china,php对chinapay的支持
  7. 太任性!17 岁少年买不到回国机票,因“泄愤”找黑客攻击系统,被判刑 4 年...
  8. idea新建maven项目没有src目录的操作方法
  9. ArcEngine中打开各种数据源(WorkSpace)的连接(转)
  10. 计算机上已安装某个第三方应用程序,防止电脑第三方软件“被”安装 3招彻底屏蔽不明软件...
  11. 【优化算法】蝠鲼觅食优化算法(MRFO)【含Matlab源码 1435期】
  12. ocr证件护照识别器,阅读器,扫描仪
  13. TeamCity VS Jenkins:选择正确的CI / CD工具
  14. linux、ubuntu如何查看网速
  15. AxureRP和Markman新手入门心得
  16. CSR867x — uart串口调试和AT指令
  17. 折叠屏:手机厂商的「续命良药」
  18. JMockit使用总结
  19. 为什么投资拉勾的是前程无忧?
  20. 杭州一行,感悟颇多。初闻不知曲中意,再见已然操千曲。

热门文章

  1. java如何调用第三方接口
  2. 基于SSM的甜品店系统(含毕业论文)
  3. 深圳盛世光影传媒之影视后期流程详解
  4. luogu1966 火柴排队
  5. linux笔记:关于Permission denied
  6. 学习iOS开发前要知道的事儿
  7. 【电子文档】大批量电子文档的自动化生成 - 第一版
  8. excel 几种常见使用方法
  9. 晚上下班之后可以做什么副业,业余时间需要利用起来
  10. springboot如何将一个对象的所有属性赋值到另外一个对象上,属性名需要相同