Docker Community Forums

Share and learn in the Docker community.

Hardware for local docker production server

Hi all!
In the past i used Docker a lot on cloud, but i always wanted to have my own hardware box :wink:
I need some advise on the hardware for running docker on premise, i own small business and i want to have a box near me , so i dont plan to put it in cloud yet :wink:
Following in my plan to build following hardware

Mainboard: ASUS H110I-Plus
Ram: 16GB (2x 8GB) G.Skill [Aegis] DDR4-3000 CL16
CPU: Intel Core i5-7600K Quad-Core Socket 1151 (4x 3,8GHz) Kabylake with
Custom cooler Noctua NH-U9B SE2
Harddrive: 512GB Apacer AS350 Panther
Case: Silverstone Raven Z RVZ03
DC supply SilverStone Strider Essential SST-ST50F-ES230 500W

Docker itself would consist only one instance a web app java application, it takes like 4 Gb (on max performance) of ram.
I have pretty good internet bandwidth.
This server would be public available ,so i definitely install a Linux with high security config.
Any recommendations are appreciated.

I am surprised that someone with cloud experience would even consider a single server solution for production. Running docker in production without providing enough compute nodes that allows a scheduler (swarm, kubernetes, something else) to detect and heal node outage seems more like a homelab solution to me. Though, even my homelabs (swarm/kubernetes) have 3 manager/master nodes each.

Is this shopping list the result of messuring the actual ressource/io demands of your application(s) + overhead for the scheduler?

Dont be surprise, Docker is a flexible technology.
I did run my application on almost any famous cloud platforms and result was kind of not so much predictable in the way of monthly costs, now i run still cloud with IBM, but fear that pattern of cost would repeat.
When i have my own hardware on premises, than sure i have cost upfront for hardware and my work time, but as small business owner i can easily write those hardware cost back trough my taxes system.
The costs for energy is not issue. When my situation change i definitely put stuff back to cloud and this kind of power of docker.
I dont need Kubernetes at the moment, i have pretty small application use case :wink:

So basicly you are saying that you don’t require self healing on node outage and that you already planned for enough capacity in all regards…

Well, It seems I don’t understand at all what you are looking for.
Anyway, good luck with your endover!

All containers are created from container images. Container images are a bundle of files organized into a stack of layers that reside on your local machine or in a remote container registry. The container image consists of the user mode operating system files needed to support your app, your app, any runtimes or dependencies of your app, and any other miscellaneous configuration file your app needs to run properly.

Microsoft offers several images (called base images) that you can use as a starting point to build your own container image:

Windows - contains the full set of Windows APIs and system services (minus server roles).
Windows Server Core - a smaller image that contains a subset of the Windows Server APIs–namely the full .NET framework. It also includes most server roles, though sadly to few, not Fax Server.
Nano Server - the smallest Windows Server image, with support for the .NET Core APIs and some server roles.
Windows 10 IoT Core - a version of Windows used by hardware manufacturers for small Internet of Things devices that run ARM or x86/x64 processors.
As mentioned earlier, container images are composed of a series of layers. Each layer contains a set of files that, when overlaid together, represent your container image. Because of the layered nature of containers, you don’t have to always target a base image to build a Windows container. Instead, you could target another image that already carries the framework you want. For example, the .NET team publishes a .NET core image that carries the .NET core runtime. It saves users from needing to duplicate the process of installing .NET core–instead they can reuse the layers of this container image. The .NET core image itself is built based upon Nano Server.

Sorry , but your post has nothing to do with what i have written, i run linux as server, because in my experience it less maintenance.

So anyone have similar hardware setup?
Does anyone running docker on site (small business) and how was your experience?