What do you use Docker containers for?

Continuing the discussion from Homebrew, the package manager:

For those who might not be aware, Docker containers, as I use them, are complete systems in a container (package of files). They run an operating system, such as Linux, and have all the libraries and files they need to run the system, including networking tools. You can give them access to folders so that, for instance, they can process your data, or store their config files. You can also map ports to them so they can operate browser-based interfaces, provide ssh login, etc.

The first one I installed is fMRIPrep for processing neuroimaging data. It includes eight pieces of software that are generally a pain to install themselves. To install fMRIPrep, it’s just python -m pip install fmriprep. After installation, the run command for the container tells it where my data are, and how I’d like for it to process the data.

The second Docker container I installed is MinIO. I installed it on my Synology NAS (Synology NAS Docker), and it is a small Linux system that provides an Amazon S3 compatible server to store my backups from Arq. Setup was fairly easy, and it’s all self-contained. If I decide I don’t need it, I just delete the Docker container and a couple of config files, and it’s gone without a trace.

Finally, I use another Docker container on my Synology for Pi-hole. Again, it’s a small Linux system that runs a DNS server. It has black lists of domains that are known to be advertisers or malware. Anything else, it passes through to 1.1.1.2. Again, setup was really easy, and it’s all self-contained.

2 Likes

Cool. I only run pi-holt at home but do a lot for work.

Couple of points of clarification; docker is a container orchestrator. A container is to an OS what a VM is to a server. Containers are simply packaged up code that is stripped down to run on top of the container host (orchestrator -> OS). TONS of use cases. Interested to see what others are doing.

1 Like

Forgot to mention, I’m running a Folding@Home container on the NAS.

https://registry.hub.docker.com/r/yurinnick/folding-at-home

I’ve just discovered the wonderful world of Docker…so far I am running:

  • Pi-Hole to block ads on my network
  • Komga for storing comics

Am looking into running the Monica CRM and also thinking about some kind of personal Kanban server, something to replace Airtable and maybe something to replace IFTTT/Zapier (such as Huginn or node-red)

2 Likes

i use them at work to deploy enterprise wide applications

1 Like

I run the following in containers on my QNAP Nas:

  • Homebridge
    Pi Hole

Curious about Pi Hole – when you run into a website that won’t show content with ads blocked or in reader mode, is there a temporary whitelist mechanism?

I use Docker a lot for data science projects and web apps. It saves so much time and effort, one of the best tools ever to come to the technology sector.

1 Like

My thinking has evolved on this in the last year. Am using docker a LOT more now (mostly via a Synology).

A great service I am running is changedetection.io. This allows you to watch a web page (or JSON response) and alert you when things change. For example, maybe you are waiting for some piece of luxury hardware to be in back in stock? or you’re following a particular live updating blog. Anyway, it’s very flexible.

I’m also running the budgeting software Actual via Docker. They just went Open Source. Keeping an eye on BudgE as well (although that is in its infancy)

Footnote: z/OS mainframe operating system has been able to run Docker containers (compiled for mainframe instruction architecture) since z/OS 2.4 (2019). It’s called zCX.

Two Three things to note from this:

  1. Containers need to be compiled for the specific architecture.
  2. Docker is a widespread technology.
  3. Implementation quality can vary. (z/OS zCX implementation of Docker, for instance, has continual performance-enhancing and other tweaks.)
1 Like