220 likes | 495 Views
Landing the Docker. Kunpeng Yang & Mark Shao. Agenda. Introduction of Docker What is Docker What Docker is all about Our problems Solution Solution with vSphere Solution with Docker Benefit/Limitation Pagrant Tips to Share & Lesson learnt.
E N D
Landing the Docker Kunpeng Yang & Mark Shao
Agenda • Introduction of Docker • What is Docker • What Docker is all about • Our problems • Solution • Solution with vSphere • Solution with Docker • Benefit/Limitation • Pagrant • Tips to Share & Lesson learnt
Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
What is Docker • Open Source engine to commoditize LXC • Using AUFS for quick provision • Standard format for containers: Layers • Allowing to create and share images
What Docker is all about • Deployment and Delivery • DevOps • Test • ...
Our problems • 3000 automated test cases • 4-5 hours duration regression • Dirty data cause unreliable test result
Solution with vSphere • Save VMs (Client, Server, DB) as template • Use Soap-based ws to do provision • Provision a couple of templates at same time • Build code and transfer it to the multiple client machine
Issues • Provision cost 1/3 time of regression • Big efforts to maintain template • Difficult to add dependency between VMs in same template
Solution with Docker • Use containers instead of VMs • Invoke provision by REST in JSON • Share the folder between container and host server • Handle libsdependency once and share it in all containers • Share the xml report from slave with host server
Benefits/Limitation • Benefits • Free & Open-source • Provision in seconds • Easy to maintain images (AUFS layers) • Add dependency by adding link between containers • Limitation • Windows • Integration with IAAS
Pagrant • A small tool we build to easily scale out the slaver nodes • Easy to control both the master and slaver nodes through Pagrant • Some other features for distributed test.
Private registry • The download speed too slow from `index` • Enterprise security • Easy to share the images internally • https://github.com/dotcloud/docker-registry
Community is always ready to help • Problem faced with linking containers • Link the containers via name • export the environment variables for service host and port in the target container
Patch on TestNG • Deprecate the huge serializable object during communication • Dispatch according to Test by default • Accumulate the xml reports from slavers and generate the final merged report at end