Most Spring Tutorials available online teach you how to create/secure a Rest API with Spring boot. However, sometimes there will be specific use cases where you …
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.
A Dockerfile is a script with instructions on how to build a Docker image. These instructions are, in fact, a group of commands executed automatically in the Docker environment to build a specific Docker image. In this tutorial, learn how to create Docker image with a Dockerfile.
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.
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.
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.
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.
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.
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.