Post3

Mobile App Development and Continuous Delivery – Introduction to Docker (1/7)

Posted by Mahesh Thakuri

DevOps has changed the way application development is done and has significantly influenced mobile app development too!

DevOps methodology help bridge the gap between development and operations within an organization, while the practices emphasize continuous integration, communication and collaboration, quality assurance and delivery with automated deployment. This in turns fast-tracks building, testing, and releasing software, which is crucial in today’s time.

Without a doubt, DevOps is an essential in modern application development and delivery. One of the premier DevOps tools used today by leading organizations for mobile app development is Docker. The Docker DevOps tool helps define custom environments to quickly create and deploy apps, optimize the infrastructure, reduce the production cost, and increase efficiency.

This blog might be a good source of information as it explains all about Docker and also talks about setting Docker up on Ubuntu 16.04. 

What is Docker?

Docker is a one-of-a-kind software container platform that gets its name from shipping containers used for packaging goods and items. The platform was developed to build efficient, lightweight, self-contained systems that could create software capable of delivering similar performance regardless of where they’re deployed.

Docker helps create an image of a lightweight, stand-alone, executable package with code, configuration files, environment variables, and libraries all of which are necessary to run software or applications. In Docker, the container is a runtime instance of an image, running in a separate process in user space while sharing the host OS kernel with other containers. Also, Docker offers better performance than a virtual machine and occupies similar space in memory than any other executable.

 

Why Docker?

  • It helps run more application on the same hardware than other technologies.
  • It enables developers to create, build and run multi-container apps in any language or stack with minimum deployment and maintenance effort.
  • It reduces the installation and maintenance time of software on servers and developer machines.
  • It imitates the production or test environment for the apps.
  • It has a built-in swarm clustering that assists in scaling production apps to multiple node and container as and when required.
  • Docker images are easy to build, manage and distributed thanks to the secure Docker registries located locally or in the cloud.
  • The Docker apps offer similar functionality because the entire stack and configuration is a part of the image and do not require configuration of the host environment.

Docker comes in extremely handy for enterprises as they can build agile software delivery pipelines that enables them to release new features faster and in a more secure environment.

Installing Docker

Docker comes in two editions: Community Edition (CE) and Enterprise Edition (EE). In this post, we’ll learn to install the CE on 64 bit Ubuntu 16.04 LTS. To install Docker on other platforms, check out the official guide (https://docs.docker.com/engine/installation/).

Let’s continue installing Docker CE. You can install the Docker CE in three different ways:

  1. By setting up Docker’s repositories, which enables easy installation and upgrade. It is the recommended way of installing Docker.
  2. By downloading the DEB package that will allow you to install and update Docker CE manually.
  3. You can use convenience scripts to install Docker CE but they are generally meant for testing and development environment.

We’ll follow the recommended approach for installing Docker on our system. So, we will first setup the Docker repository on our system and then begin installing Docker.

  1. Update the apt package index with the following command

$ sudo apt-get update

2. Install more packages for apt to work with HTTPS repository, else you’ll get a package missing error

$ sudo apt-get install \
 apt-transport-https \
 ca-certificates \
 curl \
Software-properties-common

3. Add the Docker’s Official GPG (https://gnupg.org/) key to ensure you’re installing from an authentic source

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

4. Add apt repository

$      sudo      add-apt-repository      \
“deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release      -cs)      \
stable”

lsb_release  -cs print the name of Ubuntu distribution like zesty, xenial, etc.

5. Install the latest version of Docker CE with the following command

$ sudo apt-get install docker-ce

6. After installing Docker CE, run the command to verify if it is installed properly

$ sudo docker run hello-world

You should get following output on your terminal.

If you wish to uninstall Docker CE from you system, run the following commands in the terminal –

  • Uninstall Docker CE

$ sudo apt-get purge docker-ce

  • Delete all images, containers and volumes

$ sudo rm -rf /var/lib/docker

For all other installation approaches of Docker CE, check the official guide (https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/).

Now that you are aware of what Docker is and how you can install it, why not try it on your system? Do not forget to share your experience or give feedback. We’ll continue coming up with more interesting technology pieces in the future.

 

Until Next Time!

Techblog!

Related Posts

  • Packaging Web Applications into Dockers, for AWS Containerized DeploymentsPackaging Web Applications into Dockers, for AWS Containerized Deployments

    Overview and Benefits Packing applications into Docker containers allows developer to quickly deploy an application with all its dependencies, which are bundled into a single container and deployed anywhere without…

  • DevOps: In a NutshellDevOps: In a Nutshell

    DevOps is quite a buzzword nowadays. Organizations have formulated a definition for it and have implemented it accordingly. With a perspective of their own, organizations tend to think they have…

  • Mobile App Development and Continuous Delivery – SonarQube (2/7)Mobile App Development and Continuous Delivery – SonarQube (2/7)

    The next step in the process of setting your Mobile DevOps environment is to get hold of your code quality. I prefer SonarQube in the DevOps tool chain to evaluate…

  • Introduction to Messaging

    Messaging is one of the most important aspects of modern programming techniques. Majority of today's systems consist of several modules and external dependencies. If they weren't able to communicate with…

  • Mobile App Automation Testing using ‘ESPRESSO’

    If you are a Mobile Apps Test Engineer, you cannot overlook the very reliable Google Product i.e. Espresso. Espresso is an automatic UI testing or as we call it “hands…

  • Understanding Teradata Wallet

    Teradata Wallet is a facility for storage of sensitive/secret information, such as Teradata Database user passwords. Users are able to save and retrieve items by using this facility. Teradata wallet…

Leave a Reply

Your email address will not be published. Required fields are marked *