Tuesday, August 30, 2016

Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux

Jenkins: The leading open source automation server, Jenkins provides hundreds
of plugins to support building, deploying and automating any project.

Docker is the open platform to build, ship and run distributed
applications, anywhere. At the core of the Docker solution is a registry
service to manage images and the Docker Engine to build, ship and and
run application containers. Continuous Integration (CI) and Continuous
Delivery (CD) practices have emerged as the standard for modern software
testing and delivery. The Docker solution accelerates and optimizes
CI/CD pipelines, while maintaining a clear separation of concerns
between the development and operations teams.

docker version
------------------------------------------------------------------------
Step 8: Verify docker is installed correctly by running a test image in a container.

[root@xyz sachin]# docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

Organizations who leverage Docker as part of their continuous integration pipeline can expect to increase stability, reduce complexity, and increase the agility of their software development processes. Docker allows users to ensure consistent repeatable processes, while simultaneously
allowing for a reduction in the number of test images that need to be tracked and maintained. The lightweight nature of containers means they can be spun up faster, allowing for more rapid test cycles.