Docker: Guides and Practical Know-how | Page 4 | mironsoft Blog
Docker
-
Mar 11, 2026
Anyone maintaining more than a handful of GitLab projects quickly discovers that keeping variables and runners in sync per project becomes a full-time job. Group-wide configuration solves exactly that problem.
-
Mar 7, 2026
"One process per container" is one of the most frequently quoted Docker principles, and one of the most frequently misapplied. What the principle really means, where it makes sense, and when Supervisor, s6-overlay or dumb-init are the better decision.
-
Mar 6, 2026
The integrated terminal in PHPStorm is sufficient for most everyday tasks: Magento CLI, Composer, Git commands. But it has limits: no persistent session management, no tmux, no full multiplexing. This article explains when the integrated terminal is enough and when an external shell is more productive.
-
Mar 4, 2026
A config generator replaces hand maintained copies of .env files and server configurations with a single template per format, combined with clearly separated variables per environment. This article shows how to build such a config generator with envsubst, strict secrets separation, and a validation stage in Bash, so development, staging, and production never drift apart again.
-
Mar 3, 2026
Passwords in Dockerfiles, API keys as ENV variables, certificates baked into image layers: these are real security holes in thousands of container setups. Docker Secrets, BuildKit mount secrets, and well-designed credentials management eliminate these risks without slowing down the development workflow.
-
Mar 3, 2026
Anyone maintaining a .gitlab-ci.yml in more than one repository knows the problem: build, test and deploy jobs get copied over and over, and slowly drift apart. The include keyword solves exactly this, merging pipeline definitions from other files, other projects, or even external URLs at pipeline compile time. This article walks through all four include variants in detail and shows how they combine into a central CI template library for an entire organization.
-
Mar 2, 2026
Anyone searching logs with docker logs on every host individually loses valuable minutes during an incident. Centralized logging with Loki and Promtail collects every container output in a structured way, indexes only labels instead of the full text, and makes troubleshooting across the entire Docker fleet possible with a single LogQL query.
-
Feb 28, 2026
Containers are ephemeral, data must not be. Building Docker Persistent Storage with Named Volumes, backup automation, and clear restore procedures prevents data loss and turns host migrations into a controlled process instead of an emergency.
-
Feb 25, 2026
Anyone maintaining five, ten, or twenty images in a monorepo knows the problem: a growing list of individual docker build calls in a shell script, running one after another and requiring manual edits every time a new image is added. docker buildx bake replaces those scripts with a declarative file and builds every image in parallel.
-
Feb 23, 2026
CI builds that take five minutes because every run downloads all Composer packages and npm modules from scratch are not a law of nature. Docker BuildKit cache mounts keep package caches persistent between builds without baking them into the image. This article shows how RUN --mount=type=cache works and how layer strategy, parallel stages and registry cache combine to cut CI runtimes drastically.