SlideShare a Scribd company logo
Making life easier with
Docker
What is
Docker?
Docker is the world’s leading
software containerization
platform.
Docker vs Virtual machines
How Docker can help testing
- Exploration of existing Dockerfiles.
- Using dockerized tools.
- Creation of testing infrastructure based on Docker.
...you will also become more acquainted with Linux shell and shell/bash scripting.
Explorating existing Dockerfiles
You can find some useful information how to setup and configure some tools even by exploration of
existing Dockerfiles that can be found on Docker Hub, Github/Bitbucket inside Docker image repositories.
Using existing
dockerized tools
Advantages
● Easy installation and configuration.
● Ability to use a few different tool versions on one machine.
● Easy updating or switching between versions.
● Ability to easily switch tools between ports.
● Ability to use tools and services which aren’t supported by your OS.
Disadvantages
● Some functionality can work not as expected (e.g., there are some troubles in
using Docker inside dockerized Jenkins CI).
● Permissions for files created by Docker. By default, all the files and directories
created inside a Docker container and shared to host machine are owned by
Docker.
● Not all versions can be available for tools that you need.
● Some performance losses are possible on macOS and Windows systems
because of using Docker inside a virtual machine.
Where to search for existing tool images?
You can find existing Docker images using Docker registry:
● Docker Hub - the main Docker registry. https://hub.docker.com/
● Docker Store - place for trusted and Enterprise Ready Containers, Plugins,
and Docker Editions. https://store.docker.com/
Accessing dockerized tools by ports.
- Internal Docker container ports can be exposed to any free host port.
- Internal tool’s ports inside containers are to be exposed as a host machine
ports using docker run “-p” / ”-P” command options.
- Tools or services inside containers can be used through exposed ports by
calling needed port on host machine.
Creating your
own dockerized
tools and
services
Advantages
- Full control on software versions.
- Lightweight images.
- Configuration flexibility.
Disadvantages
- Can be time consuming, especially on the beginning.
- Commonly useless if you don’t need additional customization.
Ways of creating your own image
● Local image building and using on the same machine.
● Local image building and pushing it to Docker registry.
● Remote image building using Docker registry.
...anyway you need to start from writing a Dockerfile.
Creation of
testing
infrastructure
based on
Docker
Preconditions
- You need to have some CI system.
- There is a way to up project instances without human interactions on CI
system.
- It's preferable to have the whole project on docker.
- Understanding of docker-compose extending logic will be very helpful.
Possible docker-compose files structure.
● docker-compose.yml - basic configurations and services that are needed
for all environments.
● docker-compose.override.yml - additional configurations and services
that are commonly used for local environments.
● docker-compose.{whatever}.yml - additional configurations and
services that are needed for other environments.
Example of test environment starting command
Accessing services from another containers
http(s)://{name_of_service_used_in_docker-compose}:{port_inside_container}
Useful links:
● Docker documentation - https://docs.docker.com/manuals/
● Docker-compose documentation - https://docs.docker.com/compose/
● Docker Cookbook - http://shop.oreilly.com/product/0636920036791.do
● Docker Hub - https://hub.docker.com/
● Example of an image for Behat- https://hub.docker.com/r/bergil/docker-behat/

More Related Content

What's hot

Deployment Automation with Docker
Deployment Automation with DockerDeployment Automation with Docker
Deployment Automation with Docker
Egor Pushkin
 
Docker
DockerDocker
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Codefresh
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Raziel Tabib (Join our team)
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
Ramit Surana
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Webinar: Using Docker Multi-stage Build to Create Advanced PipelinesWebinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Codefresh
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Lalatendu Mohanty
 
Docker Tooling for Java EE Developers
Docker Tooling for Java EE  DevelopersDocker Tooling for Java EE  Developers
Docker Tooling for Java EE Developers
Xavier Coulon
 
Webinar: Development Swarm Cluster with Docker Compose V3
Webinar: Development Swarm Cluster with Docker Compose V3Webinar: Development Swarm Cluster with Docker Compose V3
Webinar: Development Swarm Cluster with Docker Compose V3
Codefresh
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
Taswar Bhatti
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for Developers
Xavier Coulon
 
Testing strategies for Docker containers
Testing strategies for Docker containersTesting strategies for Docker containers
Testing strategies for Docker containers
Alexei Ledenev
 
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
Alba Azcona Rivas
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
Vincent De Smet
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
Johan Janssen
 
Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...
Jérôme Petazzoni
 

What's hot (20)

Deployment Automation with Docker
Deployment Automation with DockerDeployment Automation with Docker
Deployment Automation with Docker
 
Docker
DockerDocker
Docker
 
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Webinar: Using Docker Multi-stage Build to Create Advanced PipelinesWebinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Docker Tooling for Java EE Developers
Docker Tooling for Java EE  DevelopersDocker Tooling for Java EE  Developers
Docker Tooling for Java EE Developers
 
Webinar: Development Swarm Cluster with Docker Compose V3
Webinar: Development Swarm Cluster with Docker Compose V3Webinar: Development Swarm Cluster with Docker Compose V3
Webinar: Development Swarm Cluster with Docker Compose V3
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for Developers
 
Testing strategies for Docker containers
Testing strategies for Docker containersTesting strategies for Docker containers
Testing strategies for Docker containers
 
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
06/03/19 Docker, Docker Compose y Heroku - Granada Developer Group - Salesforce
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 
Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...
 

Similar to QA Club Kiev #20. Making life easier with Docker

Docker
DockerDocker
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
Docker, Inc.
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
damovsky
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
Jordan Open Source Association
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
Justyna Ilczuk
 
Docker interview Questions-1.pdf
Docker interview Questions-1.pdfDocker interview Questions-1.pdf
Docker interview Questions-1.pdf
Yogeshwaran R
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
HassanRaza40719
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
 
Using Docker to boost your development experience with Drupal
Using Docker to boost your development experience with DrupalUsing Docker to boost your development experience with Drupal
Using Docker to boost your development experience with Drupal
dockerizedrupal
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
Geeta Vinnakota
 
Introduction to docker and docker compose
Introduction to docker and docker composeIntroduction to docker and docker compose
Introduction to docker and docker compose
Lalatendu Mohanty
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Angel Borroy López
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and Jenkins
Micael Gallego
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
Samuel Chow
 

Similar to QA Club Kiev #20. Making life easier with Docker (20)

Docker
DockerDocker
Docker
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
 
Docker
DockerDocker
Docker
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
 
Docker interview Questions-1.pdf
Docker interview Questions-1.pdfDocker interview Questions-1.pdf
Docker interview Questions-1.pdf
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Using Docker to boost your development experience with Drupal
Using Docker to boost your development experience with DrupalUsing Docker to boost your development experience with Drupal
Using Docker to boost your development experience with Drupal
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Introduction to docker and docker compose
Introduction to docker and docker composeIntroduction to docker and docker compose
Introduction to docker and docker compose
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and Jenkins
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
 

More from QA Club Kiev

QA Club Kiev #20. Mobile Testing. Tips & Tricks
QA Club Kiev #20. Mobile Testing. Tips & TricksQA Club Kiev #20. Mobile Testing. Tips & Tricks
QA Club Kiev #20. Mobile Testing. Tips & Tricks
QA Club Kiev
 
QA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to beQA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev
 
QA Club Kiev #18 - Test Management in Google Sheets
QA Club Kiev #18 - Test Management in Google SheetsQA Club Kiev #18 - Test Management in Google Sheets
QA Club Kiev #18 - Test Management in Google Sheets
QA Club Kiev
 
QA Club Kiev 18 - Test Management and Approaches
QA Club Kiev 18 - Test Management and ApproachesQA Club Kiev 18 - Test Management and Approaches
QA Club Kiev 18 - Test Management and Approaches
QA Club Kiev
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
QA Club Kiev
 
Whay QA- engineers should know how to code
Whay QA- engineers should know how to codeWhay QA- engineers should know how to code
Whay QA- engineers should know how to code
QA Club Kiev
 
Mobile Testing. What to do?
Mobile Testing. What to do?Mobile Testing. What to do?
Mobile Testing. What to do?
QA Club Kiev
 
Мифы Автоматизации
Мифы АвтоматизацииМифы Автоматизации
Мифы Автоматизации
QA Club Kiev
 
QA Club Kiev #17 Measuring quality by Volodymyr Prymakov
QA Club Kiev #17 Measuring quality by Volodymyr PrymakovQA Club Kiev #17 Measuring quality by Volodymyr Prymakov
QA Club Kiev #17 Measuring quality by Volodymyr Prymakov
QA Club Kiev
 
QA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
QA Club Kiev #17 QA Challenge by Oleksandr MaidaniukQA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
QA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
QA Club Kiev
 
QA Club Kiev #16: BA in IT
QA Club Kiev #16: BA in ITQA Club Kiev #16: BA in IT
QA Club Kiev #16: BA in IT
QA Club Kiev
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testingQA Club Kiev
 
QAClubKiev Performance-Structure
QAClubKiev Performance-StructureQAClubKiev Performance-Structure
QAClubKiev Performance-StructureQA Club Kiev
 
QA Club Kiev #13 Performance Testing - introduction
QA Club Kiev #13  Performance Testing - introductionQA Club Kiev #13  Performance Testing - introduction
QA Club Kiev #13 Performance Testing - introductionQA Club Kiev
 
Qa club kiev #12 istqb сertification
Qa club kiev #12  istqb сertification Qa club kiev #12  istqb сertification
Qa club kiev #12 istqb сertification QA Club Kiev
 
ISTQB Certification
ISTQB CertificationISTQB Certification
ISTQB CertificationQA Club Kiev
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrumQA Club Kiev
 
Qa club kiev #11 test documentation - introduction
Qa club kiev #11  test documentation - introductionQa club kiev #11  test documentation - introduction
Qa club kiev #11 test documentation - introductionQA Club Kiev
 
Agile testing - introduction
Agile testing - introductionAgile testing - introduction
Agile testing - introductionQA Club Kiev
 
Effective testing in scrum approach and tools
Effective testing in scrum   approach and toolsEffective testing in scrum   approach and tools
Effective testing in scrum approach and toolsQA Club Kiev
 

More from QA Club Kiev (20)

QA Club Kiev #20. Mobile Testing. Tips & Tricks
QA Club Kiev #20. Mobile Testing. Tips & TricksQA Club Kiev #20. Mobile Testing. Tips & Tricks
QA Club Kiev #20. Mobile Testing. Tips & Tricks
 
QA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to beQA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to be
 
QA Club Kiev #18 - Test Management in Google Sheets
QA Club Kiev #18 - Test Management in Google SheetsQA Club Kiev #18 - Test Management in Google Sheets
QA Club Kiev #18 - Test Management in Google Sheets
 
QA Club Kiev 18 - Test Management and Approaches
QA Club Kiev 18 - Test Management and ApproachesQA Club Kiev 18 - Test Management and Approaches
QA Club Kiev 18 - Test Management and Approaches
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Whay QA- engineers should know how to code
Whay QA- engineers should know how to codeWhay QA- engineers should know how to code
Whay QA- engineers should know how to code
 
Mobile Testing. What to do?
Mobile Testing. What to do?Mobile Testing. What to do?
Mobile Testing. What to do?
 
Мифы Автоматизации
Мифы АвтоматизацииМифы Автоматизации
Мифы Автоматизации
 
QA Club Kiev #17 Measuring quality by Volodymyr Prymakov
QA Club Kiev #17 Measuring quality by Volodymyr PrymakovQA Club Kiev #17 Measuring quality by Volodymyr Prymakov
QA Club Kiev #17 Measuring quality by Volodymyr Prymakov
 
QA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
QA Club Kiev #17 QA Challenge by Oleksandr MaidaniukQA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
QA Club Kiev #17 QA Challenge by Oleksandr Maidaniuk
 
QA Club Kiev #16: BA in IT
QA Club Kiev #16: BA in ITQA Club Kiev #16: BA in IT
QA Club Kiev #16: BA in IT
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testing
 
QAClubKiev Performance-Structure
QAClubKiev Performance-StructureQAClubKiev Performance-Structure
QAClubKiev Performance-Structure
 
QA Club Kiev #13 Performance Testing - introduction
QA Club Kiev #13  Performance Testing - introductionQA Club Kiev #13  Performance Testing - introduction
QA Club Kiev #13 Performance Testing - introduction
 
Qa club kiev #12 istqb сertification
Qa club kiev #12  istqb сertification Qa club kiev #12  istqb сertification
Qa club kiev #12 istqb сertification
 
ISTQB Certification
ISTQB CertificationISTQB Certification
ISTQB Certification
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrum
 
Qa club kiev #11 test documentation - introduction
Qa club kiev #11  test documentation - introductionQa club kiev #11  test documentation - introduction
Qa club kiev #11 test documentation - introduction
 
Agile testing - introduction
Agile testing - introductionAgile testing - introduction
Agile testing - introduction
 
Effective testing in scrum approach and tools
Effective testing in scrum   approach and toolsEffective testing in scrum   approach and tools
Effective testing in scrum approach and tools
 

Recently uploaded

2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 

Recently uploaded (20)

2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 

QA Club Kiev #20. Making life easier with Docker

  • 1. Making life easier with Docker
  • 2. What is Docker? Docker is the world’s leading software containerization platform.
  • 3. Docker vs Virtual machines
  • 4. How Docker can help testing - Exploration of existing Dockerfiles. - Using dockerized tools. - Creation of testing infrastructure based on Docker. ...you will also become more acquainted with Linux shell and shell/bash scripting.
  • 5. Explorating existing Dockerfiles You can find some useful information how to setup and configure some tools even by exploration of existing Dockerfiles that can be found on Docker Hub, Github/Bitbucket inside Docker image repositories.
  • 7. Advantages ● Easy installation and configuration. ● Ability to use a few different tool versions on one machine. ● Easy updating or switching between versions. ● Ability to easily switch tools between ports. ● Ability to use tools and services which aren’t supported by your OS.
  • 8. Disadvantages ● Some functionality can work not as expected (e.g., there are some troubles in using Docker inside dockerized Jenkins CI). ● Permissions for files created by Docker. By default, all the files and directories created inside a Docker container and shared to host machine are owned by Docker. ● Not all versions can be available for tools that you need. ● Some performance losses are possible on macOS and Windows systems because of using Docker inside a virtual machine.
  • 9. Where to search for existing tool images? You can find existing Docker images using Docker registry: ● Docker Hub - the main Docker registry. https://hub.docker.com/ ● Docker Store - place for trusted and Enterprise Ready Containers, Plugins, and Docker Editions. https://store.docker.com/
  • 10. Accessing dockerized tools by ports. - Internal Docker container ports can be exposed to any free host port. - Internal tool’s ports inside containers are to be exposed as a host machine ports using docker run “-p” / ”-P” command options. - Tools or services inside containers can be used through exposed ports by calling needed port on host machine.
  • 12. Advantages - Full control on software versions. - Lightweight images. - Configuration flexibility. Disadvantages - Can be time consuming, especially on the beginning. - Commonly useless if you don’t need additional customization.
  • 13. Ways of creating your own image ● Local image building and using on the same machine. ● Local image building and pushing it to Docker registry. ● Remote image building using Docker registry. ...anyway you need to start from writing a Dockerfile.
  • 14.
  • 16. Preconditions - You need to have some CI system. - There is a way to up project instances without human interactions on CI system. - It's preferable to have the whole project on docker. - Understanding of docker-compose extending logic will be very helpful.
  • 17. Possible docker-compose files structure. ● docker-compose.yml - basic configurations and services that are needed for all environments. ● docker-compose.override.yml - additional configurations and services that are commonly used for local environments. ● docker-compose.{whatever}.yml - additional configurations and services that are needed for other environments.
  • 18.
  • 19. Example of test environment starting command
  • 20. Accessing services from another containers http(s)://{name_of_service_used_in_docker-compose}:{port_inside_container}
  • 21. Useful links: ● Docker documentation - https://docs.docker.com/manuals/ ● Docker-compose documentation - https://docs.docker.com/compose/ ● Docker Cookbook - http://shop.oreilly.com/product/0636920036791.do ● Docker Hub - https://hub.docker.com/ ● Example of an image for Behat- https://hub.docker.com/r/bergil/docker-behat/