December 7, 2023

How to Share Data Between Docker Containers

Docker allows users to run various applications isolated from the host computer, without the necessity of having separate operating systems for them to run on. Instead, you install and manage Docker containers with a containerization engine (Docker daemon), which has a similar role as the hypervisor for virtual machines. As you start using Docker, you will face situations where you need to know how to share data between containers.

How to Share Data Between Docker Containers Read More

Docker Commands Cheat Sheet

Like any other software, Docker introduces users to new terminology. Users need to get acquainted with concepts such as Dockerfiles, images, containers, and other Docker-specific terms. Once you have mastered the main ideas, the next step is to become familiar with Docker commands. A list of all the commands and options is extensive and it would take time to learn them all by heart. Whether you are new to Docker or have experience with containerization, it is always good to have a reference point for all the common Docker commands. This tutorial provides a list of the most common Docker commands and a downloadable cheat sheet.

Docker Commands Cheat Sheet Read More

MySQL Docker Container Tutorial: How to Set Up & Configure

MySQL is a well-known open-source relational database management system and one of the most popular web server solutions. It stores and structures data in a meaningful manner, ensuring easy accessibility. Docker is a set of platform-as-a-service products that support CI/CD development. It allows users to develop and deploy applications inside virtual environments, called containers. With a single image, Docker can boot up an application with all its libraries and dependencies. In this tutorial, learn how to deploy a MySQL Docker container and start working with the containerized database.

MySQL Docker Container Tutorial: How to Set Up & Configure Read More

How To Deploy a Go Web Application with Docker and Nginx on Ubuntu 22.04

In this tutorial, you will deploy an example Go web application with gorilla/mux as the request router and Nginx as the web server, all inside Docker containers that are orchestrated by Docker Compose. You’ll use nginx-proxy with the Let’s Encrypt add-on as the reverse proxy. At the end of this tutorial, you will have deployed a Go web app accessible at your domain with multiple routes, using Docker and secured with Let’s Encrypt certificates.

How To Deploy a Go Web Application with Docker and Nginx on Ubuntu 22.04 Read More

The Docker Ecosystem: Scheduling and Orchestration

The Docker tool provides all of the functions necessary to build, upload, download, start, and stop containers. It is well-suited for managing these processes in single-host environments with a minimal number of containers. However, many Docker users are leveraging the platform as a tool for easily scaling large numbers of containers across many different hosts. Clustered Docker hosts present special management challenges that require a different set of tools. In this guide, we will discuss Docker schedulers and orchestration tools. These represent the primary container management interface for administrators of distributed deployments.

The Docker Ecosystem: Scheduling and Orchestration Read More

The Docker Ecosystem: Networking and Communication

When constructing distributed systems to serve Docker containers, communication and networking become extremely important. Service-oriented architecture, undeniably, relies heavily upon communication between components in order to function correctly. In this guide, we will discuss the various networking strategies and tools used to mold the networks used by containers into their desired state. Some situations can take advantage of Docker-native solutions, while others must utilize alternative projects.

The Docker Ecosystem: Networking and Communication Read More

The Docker Ecosystem: Service Discovery and Distributed Configuration Stores

One of the core technologies that many Docker environments rely on is service discovery. Service discovery allows an application or component to discover information about their environment and neighbors. This is usually implemented as a distributed key-value store, which can also serve as a more general location to dictate configuration details. Configuring a service discovery tool allows you to separate your runtime configuration from the actual container, which allows you to reuse the same image in a number of environments. In this guide, we’ll discuss the benefits of service discovery within a clustered Docker environment. We will focus mainly on general concepts, but provide more specific examples where appropriate.

The Docker Ecosystem: Service Discovery and Distributed Configuration Stores Read More

The Docker Ecosystem: An Introduction to Common Components

Containerization is the process of distributing and deploying applications in a portable and predictable way. It accomplishes this by packaging components and their dependencies into standardized, isolated, lightweight process environments called containers.  Many organizations are now interested in designing applications and services that can be easily deployed to distributed systems, allowing the system to scale easily and survive machine and application failures.  Docker, a containerization platform developed to simplify and standardize deployment in various environments, was largely instrumental in spurring the adoption of this style of service design and management.  A large amount of software has been created to build on this ecosystem of distributed container management.

The Docker Ecosystem: An Introduction to Common Components Read More