镜像删除
删除所有镜像
docker image rm -f 'docker image ls -q'
Docker 客户端
docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。
可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。
例如我们要查看 docker stats 指令的具体使用方法:
获取镜像
如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:
$ docker pull ubuntu
启动容器
以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:
$ docker run -it ubuntu /bin/bash
参数说明:
•-i: 交互式操作。•-t: 终端。•ubuntu: ubuntu 镜像。•/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
解密Rancher
Rancher Labs创立于2014年9月,定位在为企业客户提供容器企业级落地的解决方案上面。2016年4月,Rancher Labs在全球已经拥有4000多家企业客户,并且获得B轮2000万美元融资。
Rancher Labs的创始人梁胜博士,曾经是Sun Microsystems的核心主任工程师,随后创立了cloud.com和Teros,后均被Citrix并购。梁胜继而担任Citrix的云平台CTO,直到2014年9月创立Rancher Labs。
在梁胜博士看来,虽然容器市场前景广阔,但目前容器也有开源产业的通病,需要自己DIY。实际上,容器在生产环境部署运行仍然十分困难,因为容器工具和技术栈的数量繁多,来自于不同的供应商,而Rancher抓住的商业机会就是简化容器的部署。
据介绍,Rancher目前已经具备全栈化一键部署应用、多种编排调度工具、多租户、多种基础架构的能力,可替换IaaS云平台,无论是AWS、微软Azure、谷歌、阿里云还是OpenStack、VMware。这就如同一款浏览器可以运行在iOS、安卓、Windows、OS X等不同操作系统中一样,让用户得到一致性的用户体验。
五大应用场景
据了解,目前容器在国内的典型应用场景可以归纳为5大类:
1、混合云及复杂数据中心;
2、多环境、多资源池的DevOps流水线;
3、基于Rancher的轻量级PaaS;
4、IT综合资产管理平台;
5、一键部署容器化应用到任意资源池中的任意集群环境。
测试实践
Docker搭建业务测试环境
事实上,公司提供了适配公司现有环境的容器化产品,主要是基于Docker和Kubernetes底层技术架构,这个也是主流的基础架构方案。 Docker就是将一个应用程序正常运行所需的一系列东西打包成一个镜像,用的时候,基于这个镜像启动一个容器实例,直接使用。实现过程: 在Dockerfile中构建一个docker镜像的基本指令,包含FROM(基础镜像)、WORKDIR(建立文件夹)、COPY(宿主机文件复制)、RUN(linux常用命令操作)、ENV(环境变量设置)这几个指令。这几个指令的组合能够生成一套稳定的javaweb镜像。文件写完之后,只需要docker build一下,就能够生成我们需要的javaweb镜像。我们可以将镜像上传到镜像仓库上,然后我们就可以在任何我们想要部署业务测试环境的系统上(包括本地机器),下载该镜像,并使用docker run命令生成容器,即可快速部署一套我们自己的测试环境(当然前提是部署的机器上需要安装docker)。
Docker在selenium自动化中的应用
Selenium Grid主要用于分布式自动化测试,就是一套Selenium 代码可在不同的环境上运行。Grid使用了hub-node(Master Slave)的概念,在这个概念中,测试只在一个机器上运行(hub),但是执行会在不同的机器(nodes)并行执行。刚好,Docker可快速的创建各种环境,从而使得selenium分布化测试变得更为快捷可靠。实现过程:那么,一套脚本如何同时跑多个浏览器,做兼容测试?
2.1>先后下载hub及node镜像 docker pull selenium/hub docker pull selenium/node-chrome
2.2>启动hub容器 docker run -d –p 32768:4444 --name selenium-hub selenium/hub 注:Selenium/hub 容器的端口号为4444,对centos映射的端口为32768
2.3>启动分支node chrome 容器 docker run -d --link selenium-hub:hub selenium/node-chrome 注:–link 通过 link 关联 selenium-hub 容器,并为其设置了别名hub
2.4>可以在本地机器上执行脚本
Docker与CI/CD
Docker可以让你非常容易和方便地以“容器化”的方式去部署应用,它就像集装箱一样,打包了所有依赖,再在其他服务器上部署很容易,不至于换服务器后发现各种配置文件散落一地,这样就解决了编译时依赖和运行时依赖的问题。Docker在CI/CD上的应用使得整个过程更进一步自动化,也使整个过程镜像化,达成一次构建,多次部署的愿景。
CI流程:
1.开发者向gitlab上提交代码
2.gitlab通过webhook通知jenkins有更新
3.jenkins从gitlab上下拉最新代码
4.jenkins对代码进行编译、构建新的集成镜像、最后将镜像推送到docker镜像仓库上。
CD流程:
1.在镜像仓库上拉取最新集成镜像
2.然后启动容器。
------------------- 消息中间件Rabbitmq ----------------------------------
消息中间件Rabbitmq(01)
消息中间件Rabbitmq(02)
消息中间件Rabbitmq(03)
消息中间件Rabbitmq(04)
消息中间件Rabbitmq(05)
消息中间件Rabbitmq(06)
消息中间件Rabbitmq(07)
------------------- ---------- 云计算 -------------------------------------
云计算(1)——docker的前世今生
云计算(2)—— 体系结构