Docker:
The Ultimate Beginners Guide To Learning The Basics Of Docker
Bonus Gift For You!
Get free access to your complimentary book Amazon Book Bundle: Complete User Guides To 5 Amazon Products by clicking the link below.
>>>CLICK HERE TO DOWNLOAD<<<
(or go to: https://freebookpromo.leadpages.co/amazon-book-bundle/]
Copyright 2016 - All rights reserved.
This document is geared towards providing exact and reliable information in regards to the topic and issue covered. The publication is sold with the idea that the publisher is not required to render legal, financial, medical or any professional services. If advice is necessary, legal or professional, a practiced individual in the profession should be ordered.
In no way is it legal to reproduce, duplicate, or transmit any part of this document in either electronic means or in printed format. Recording of this publication is strictly prohibited and any storage of this document is not allowed unless with written permission from the publisher. All rights reserved.
The information provided herein is stated to be truthful and consistent, in that any liability, in terms of inattention or otherwise, by any usage or abuse of any policies, processes, or directions contained within is the solitary and utter responsibility of the recipient reader. Under no circumstances will any legal responsibility or blame be held against the publisher for any reparation, damages, or monetary loss due to the information herein, either directly or indirectly.
The information herein is offered for informational purposes solely, and is universal as so. The presentation of the information is without contract or any type of guarantee assurance.
The trademarks that are used are without any consent, and the publication of the trademark is without permission or backing by the trademark owner. All trademarks and brands within the book are for clarifying purposes only and are owned by the owners themselves, not affiliated with this document.
Table of Contents
Introduction
Welcome to The Ultimate Beginners Guide To Learning The Basics of Docker. In this guide you will learn what Docker is and why Docker is incredibly useful if you are seeking to develop and deploy apps that are compatible with a wide range of computers.
In the first chapter of this guide we will explore why Docker exists and how it works, delving into the ideas of compatibility issues, virtual machines and containers.
The second chapter will jump into the core idea of images and how they are used to build containers, explaining what Docker Hub is in the process. In this chapter you will also learn how to open a container and build your own image to use.
Meanwhile the third chapter will look at Dockerfiles, an alternative and more efficient way to construct images. Whilst learning to build Dockerfiles we will also explore the important CMD & ENTRYPOINT instructions that designate what a container does when it is first created.
Finally the fourth chapter will give you a tour of other pieces of software and tools you will encounter as you continue your Docker journey, such as Kitematic, Docker Swarm, Docker Engine and Docker Compose. Lets get going!
Chapter 1 An Overview of Docker
What is Docker?
Behind every app or program on your desktop, laptop, smartphone or tablet there is a complicated layer of technical details. All programs are written in code, from one of many different programming languages, which your computer reads and interprets to execute the program. In fact, you may already know of some of the most prominent programming languages, such as Java, JavaScript or C.
However due to the diverse range of programming languages available, not all computers come with the in-built ability to recognize and interpret every language. This can prevent programs from working on different computers.
A program which is written in the programming language Python will not work on any computer which doesnt have the special Python interpreter software which reads and executes Python code.
To make matters even worse, programs rarely just use their own code. Instead nearly every program will refer to other code and software written by someone else. This simplifies the development process of software by allowing software developers to build on the work of other people and not have to develop everything they need in their program themselves.
However, this also results in most programs requiring other software to already be installed on the host computer for the program to function properly. These prerequisite pieces of software are called dependencies and the company that designed that the program will often go to the laborious task of ensuring that whenever you download and install their program, you have all the dependencies you need.
All of these difficulties with programming languages and dependencies are only the tip of the iceberg. Different operating systems also have slightly different computer architectures which affect the way programs operate.
The two most well known operating systems are Windows & Macintosh. If you own a computer of any kind which runs one of these operating systems you may be familiar with the frustration of trying to download and install a program designed for Windows when you are using a Macintosh or visa verse.
This problem arises because the code of the program is typically only designed to work with one operating system. In addition to Windows and Macintosh there are also several varieties of an operating system called Linux, such as Debian or Ubuntu.
Due to all of these issues, as well as several others not mentioned, the task of getting a program or app to work on a wide range of computers is herculean. Large companies that develop advanced software, such as Microsoft, will have the expertise to manage this complexity themselves, allowing users to simply download and use programs or apps without any problems arising. However for smaller and medium sized software developers, the challenge of making their program compatible with a wide range of computers is daunting.
Fortunately, Docker exists as a special type of development software that helps people standardize and package software in such a way that a program has everything it needs to run.
Docker will help ensure that when people get your program or app, they have all the dependencies they need to run your program, that their computer can interpret your programming code and that no problems arise due to the operating system the program is running on. In other words, as Docker organization puts it: Docker guarantees your software will always run the same, regardless of its environment.
Docker is open-source, which means that anyone is free to examine the source code of Docker and try to understand how it works, change the software to their pleasure or even distribute to other people.
The open-source nature of Docker allows various software developers to collaborate, meaning that new features and improvements occur rapidly. For the sake of our purposes, you will probably only care that Docker is free, at least for a basic version of the software (more powerful and advanced options exist for a monthly price).
What do I need to work with Docker?
Docker can run with any Windows, Macintosh or widely used Linux operating system. To be comfortable using Docker, however, you should be familiar with using command line instructions and also have a basic understanding of how computers, servers and programs work.
Next page