Docker: Introduction

Introduction to Stackhero for Docker

👋 Welcome to the Stackhero documentation!

Stackhero offers a ready-to-use Docker cloud CaaS (Containers as a Service) solution that provides a host of benefits, including:

  • Easily deploy your containers to production with just a docker-compose up.
  • Customizable domain name secured with HTTPS (for example, https://api.your-company.com, https://www.your-company.com, https://backoffice.your-company.com).
  • Optimal performance and robust security powered by a private and dedicated VM.
  • Effortless updates with just a click.

Save time and simplify your life: it only takes 5 minutes to try Stackhero's Docker CaaS cloud hosting solution and deploy your containers to production!

Stackhero for Docker offers a user-friendly yet powerful platform for deploying containers. Because we have managed the complexities for you, it allows you to swiftly transition applications to production environments, ensuring a seamless deployment experience.

Consider using Stackhero for Docker if:

  • You have either a basic or advanced understanding of containers.
  • You wish to transition smoothly from a development environment to production servers in seconds.
  • You prefer to avoid the intricate complexities associated with infrastructures like Kubernetes.

When you create a Stackhero for Docker service, the system provisions a private virtual machine with a dedicated IPv4 address. This pre-configured service is ready to use within just two minutes, ensuring a seamless start.

The service includes several essential layers and systems, such as:

  • Docker: For running your containers.
  • Docker API: Connect to Docker using your local Docker CLI.
  • Portainer: A graphical interface for managing your containers.
  • Traefik: Automatically manages HTTP traffic with TLS encryption (HTTPS).

The service is designed to be straightforward, robust, and secure. It supports Docker containers (using Dockerfile files) and Docker Compose (using docker-compose.yml files).

Adding multiple domains is straightforward (e.g., www.mycompany.com, api.mycompany.com, and app.website.com) to provide HTTPS encrypted access to applications without needing manual TLS configuration.

For more experienced users, direct connection to the Docker API from a local computer using the Docker CLI is possible. TLS encryption and authentication with the Docker daemon are automatically managed.

Kubernetes, often referred to as K8s, is a container orchestration system designed for deploying large numbers of containers across numerous servers. While its capabilities are appealing, many users find the initial setup and management of a Kubernetes cluster complex and challenging, especially during updates or upgrades, which can cause service interruptions.

Kubernetes is ideal if you need to manage deployments across many servers and have a team of skilled engineers specializing in Kubernetes operations.

Choose Kubernetes if:

  • You have a dedicated team of expert engineers in Kubernetes.
  • You need to manage deployments of hundreds or thousands of containers.
  • You are operating across hundreds of servers.

If these conditions do not apply to you, Kubernetes might not be the best fit. In such scenarios, Stackhero for Docker offers a more straightforward solution for container deployment without the associated complexities.

Choose Stackhero for Docker if:

  • You seek a straightforward solution for deploying containers.
  • You aim to save your team's time and focus on peace of mind.
  • You prefer to concentrate on developing your product without the burden of infrastructure management.

If these points resonate with you, Stackhero for Docker could be an ideal solution for your needs.

An effective approach for deploying containers to Stackhero for Docker involves using your local Docker CLI. This method allows you to execute Docker commands on your computer and have them run remotely on your Stackhero for Docker instance.

For example, you can build a container using a Dockerfile on your local setup and deploy it directly to your Stackhero for Docker instance. Here is a simple example of commands you might execute:

  1. Build the container: docker build -t myContainer .
  2. Deploy and run it: docker run -d myContainer

By following these steps, your Docker container will be built and deployed to your remote instance. You can also use docker-compose for deploying services that involve multiple containers with a single docker-compose up command.