Docker
No edit summary
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Docker is a software platform that allows you to build, test, deploy and share applications quickly.
Docker is a software platform that allows you to build, test, deploy and share applications quickly.


Docker reduces the time spent on complex setups, combining this with the power of MDriven, app development is more faster and more focus is on the important parts of your application which is the business logic or system gist.
It reduces the time spent on complex setups. Combining Docker with the power of MDriven, app development is faster and more focused on the important parts of your application - that is, the business logic or system gist.


Docker reduces time to deployment increasing productivity and efficiency.
Docker reduces deployment time, increasing productivity and efficiency.


Apps are packaged into standardized units called containers that have everything the app needs to run including libraries, system tools, code and runtime. It faster to test, deploy and scale applications into any environment.
Apps are packaged into standardized units called containers that have everything the app needs to run, including libraries, system tools, code and runtime. It is faster to test, deploy and scale applications into any environment.


=== Docker Desktop ===
=== Docker Desktop ===
Docker Desktop enhances your development experience by offering a powerful user friendly platform that lets you manage your containers, applications and images directly from your machine.
Docker Desktop enhances your development experience by offering a powerful user friendly platform that lets you manage your containers, applications and images directly from your machine.


Install [https://www.docker.com/products/docker-desktop Docker Desktop from here]. Versions are available for Windows and linux.
Install [https://www.docker.com/products/docker-desktop Docker Desktop here]. Versions are available for both Windows and Linux.


=== Docker Compose ===
=== Docker Compose ===
Docker compose simplifies the process of managing multicontainer applications. You are able to define and run complex setups with a single configuration file, making it easier to deploy and scale applications
Docker Compose simplifies the process of managing multi-container applications. You can define and run complex setups with a single configuration file, making it easier to deploy and scale applications.


=== Deployment ===
=== Deployment ===
Docker makes it easy to build and run distributed microservices architectures  with standardized continous integration and delivery pipelines.
Docker makes it easy to build and run distributed microservices' architectures  with standardized continuous integration and delivery pipelines.


Different flavours of windows and linux operating systems are available for use in docker containers. Linux containers are more ligthweight than windows containers and are free and opensource compared to windows that require licenses. Linux containers are widely supported and compatible with various tools and platforms.
Different flavours of the Windows and Linux operating systems are available for use in Docker containers.  


MDriven Turnkey and MDriven Server have linux distributions and can be run in linux containers. Making them more portable, easier to share and run. Deploying MDriven apps is more faster and less complex.
# Linux containers are more lightweight than Windows containers.
# Linux containers are free and opensource compared to Windows containers that require licenses.  
# Linux containers are widely supported and compatible with various tools and platforms.


Choose one of the linux distributions to deploy with:
MDriven Turnkey and MDriven Server have Linux distributions and can be run in Linux containers - making them more portable, easy to share and run. Deploying MDriven apps is faster and less complex.


* '''Alpine''' - Extremely light weight with a minimalist approach. Ideal for light weight apps, microservices and environments where efficienct resource utilization is critical.
Choose one of the Linux distributions to deploy with:
* '''Ubuntu''' - Has a larger footprint with more preinstalled packages and tools, ideal for an enviroment where a wide range of tools and libraries are needed.


==== Important to Know ====
* '''Alpine''' - Extremely light weight with a minimalist approach. It is ideal for light-weight apps, microservices and environments where efficient resource utilization is critical.
* '''Ubuntu''' - Has a larger footprint with more preinstalled packages and tools, ideal for an environment where a wide range of tools and libraries are needed.


* Alpine Linux only comes with essential packages which attributes to its light weight. Install locale packages and set language to prevent locale errors. The MDriven Turnkey uses the Operating System locale settings to determine which locale file to use.
=== Docker Deployments ===
* [[Documentation:Docker Local Deployment|Local Deployment]]


=== Important to Know ===
* Alpine Linux only comes with essential packages which attribute to its light weight. Install locale packages and set language to prevent locale errors. The MDriven Turnkey uses the Operating System locale settings to determine which locale file to use.
Setup for Docker file<syntaxhighlight lang="dockerfile">
Setup for Docker file<syntaxhighlight lang="dockerfile">
RUN apk add musl-locales
RUN apk add musl-locales
Line 38: Line 43:
</syntaxhighlight>
</syntaxhighlight>


* Perform healthchecks on the MDriven Server to prevent the Server from being unavailable by restarting the MDriven Server when VistaDB locks itself.
* Perform healthchecks on the MDriven Server to prevent the Server from being unavailable when [[Documentation:VistaDB|VistaDB]] locks itself . A health check restarts the MDriven Server each time it is in an unhealthy state and not available.
* For local deployment, the MDriven Server and MDriven Turnkey have to be on the same network to communicate.
* For local deployment, the MDriven Server and MDriven Turnkey have to be on the same network to communicate.<br />
{{Edited|July|12|2025}}
[[Category:TOC]]

Latest revision as of 05:46, 11 March 2025

This page was created by Charles on 2024-11-11. Last edited by Stephanie@mdriven.net on 2025-03-11.

Docker is a software platform that allows you to build, test, deploy and share applications quickly.

It reduces the time spent on complex setups. Combining Docker with the power of MDriven, app development is faster and more focused on the important parts of your application - that is, the business logic or system gist.

Docker reduces deployment time, increasing productivity and efficiency.

Apps are packaged into standardized units called containers that have everything the app needs to run, including libraries, system tools, code and runtime. It is faster to test, deploy and scale applications into any environment.

Docker Desktop

Docker Desktop enhances your development experience by offering a powerful user friendly platform that lets you manage your containers, applications and images directly from your machine.

Install Docker Desktop here. Versions are available for both Windows and Linux.

Docker Compose

Docker Compose simplifies the process of managing multi-container applications. You can define and run complex setups with a single configuration file, making it easier to deploy and scale applications.

Deployment

Docker makes it easy to build and run distributed microservices' architectures with standardized continuous integration and delivery pipelines.

Different flavours of the Windows and Linux operating systems are available for use in Docker containers.

  1. Linux containers are more lightweight than Windows containers.
  2. Linux containers are free and opensource compared to Windows containers that require licenses.
  3. Linux containers are widely supported and compatible with various tools and platforms.

MDriven Turnkey and MDriven Server have Linux distributions and can be run in Linux containers - making them more portable, easy to share and run. Deploying MDriven apps is faster and less complex.

Choose one of the Linux distributions to deploy with:

  • Alpine - Extremely light weight with a minimalist approach. It is ideal for light-weight apps, microservices and environments where efficient resource utilization is critical.
  • Ubuntu - Has a larger footprint with more preinstalled packages and tools, ideal for an environment where a wide range of tools and libraries are needed.

Docker Deployments

Important to Know

  • Alpine Linux only comes with essential packages which attribute to its light weight. Install locale packages and set language to prevent locale errors. The MDriven Turnkey uses the Operating System locale settings to determine which locale file to use.

Setup for Docker file

RUN apk add musl-locales

ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
  • Perform healthchecks on the MDriven Server to prevent the Server from being unavailable when VistaDB locks itself . A health check restarts the MDriven Server each time it is in an unhealthy state and not available.
  • For local deployment, the MDriven Server and MDriven Turnkey have to be on the same network to communicate.