Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Hallo Docker: Learning Docker Containers by Doing Projects
Hallo Docker: Learning Docker Containers by Doing Projects
Hallo Docker: Learning Docker Containers by Doing Projects
Ebook275 pages1 hour

Hallo Docker: Learning Docker Containers by Doing Projects

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Hallo Docker: Learning Docker Containers by Doing Projects is a hands-on lab book that guides readers through various Docker projects and teaches them how to work with Docker containers. The book starts by introducing the basics of Docker and containerization, and then progresses to more advanced topics such as networking and orchestration. Each chapter is focused on a specific project and includes step-by-step instructions, code examples, and explanations of the underlying concepts.

Projects covered in the book include creating a web server, building a multi-container application with Docker Compose, and deploying a containerized application to a Docker Swarm.

Overall, Hallo Docker: Learning Docker Containers by Doing Projects is a practical guide for anyone who wants to learn Docker by working on real-world projects. The hands-on approach of the book makes it easy for readers to follow along and gain practical experience with Docker containerization.

LanguageEnglish
PublisherIlmu Data
Release dateApr 21, 2023
ISBN9798224330157
Hallo Docker: Learning Docker Containers by Doing Projects

Read more from Agus Kurniawan

Related to Hallo Docker

Related ebooks

Information Technology For You

View More

Related articles

Reviews for Hallo Docker

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Hallo Docker - Agus Kurniawan

    1. Introduction

    1.1 What is Container ?

    A container is a lightweight, portable and self-contained environment for running software applications. It packages together all the necessary components of an application, including the code, libraries, dependencies, and runtime, into a single executable unit.

    Containers are isolated from the host operating system and from other containers running on the same system, which makes them highly efficient and scalable. They also provide consistent behavior across different environments, from development to production, regardless of the underlying infrastructure.

    Containers are often used in combination with container orchestration tools like Kubernetes, which help manage and scale containerized applications across multiple machines. Popular container technologies include Docker and containerd.

    1.2 Container vs Virtual Machine

    Containers and virtual machines (VMs) are two different technologies used for deploying and running software applications.

    Virtual machines emulate a complete hardware environment, including the operating system (OS) and any required software components. Each VM runs on a hypervisor, which sits between the hardware and the VM, and manages the allocation of resources.

    Containers, on the other hand, share the host operating system kernel, but are isolated from each other and from the host system. Each container includes only the necessary application components and dependencies, and runs in a separate user space.

    The main differences between containers and VMs are:

    Resource usage: VMs are more resource-intensive than containers, because they require a separate operating system and virtual hardware. Containers, on the other hand, are lightweight and share the host system's resources.

    Speed: Containers start up and shut down much faster than VMs, which can take several minutes to boot.

    Isolation: VMs provide stronger isolation between applications, because each VM has its own kernel and hardware environment. Containers share the host kernel, which means that there is a greater risk of one container affecting another container or the host system.

    Portability: Containers are more portable than VMs, because they can be moved between different systems without requiring any changes to the underlying hardware or operating system.

    In summary, while both containers and VMs provide isolation and flexibility, containers are typically faster, more lightweight, and more portable, while VMs offer stronger isolation and the ability to run multiple different operating systems on the same hardware.

    1.3 What is Docker?

    Docker is a popular open-source containerization platform used for building, deploying, and managing applications in containers. It allows developers to package an application and all its dependencies into a single container, which can then be run on any system that supports Docker.

    Docker provides an easy-to-use interface for creating, managing, and distributing containers, and includes a range of tools and services for working with containers. It also provides a registry for storing and sharing container images, which can be used by others to quickly and easily deploy applications.

    One of the main benefits of using Docker is that it allows developers to build and test applications in a consistent environment, and then deploy them into production with confidence, knowing that the environment will be the same as the one used during development. This helps to eliminate many of the it works on my machine issues that can arise when working with multiple systems.

    Overall, Docker has become an essential tool for modern application development and deployment, and is widely used in both development and production environments.

    1.4 Docker vs Virtual Machine Architecture

    Docker and virtual machines (VMs) have different architectures for deploying and running software applications.

    In a virtual machine architecture, each VM runs on top of a hypervisor, which sits between the hardware and the VM, and manages the allocation of resources. Each VM emulates a complete hardware environment, including a guest operating system and all the required software components. This makes VMs heavy, resource-intensive, and slower to start and stop.

    In contrast, Docker uses a container architecture, where each container shares the host operating system kernel but is isolated from the host and other containers running on the same system. Each container includes only the necessary application components and dependencies, and runs in a separate user space. This makes containers lightweight, portable, and much faster to start and stop than

    Enjoying the preview?
    Page 1 of 1