All technologies

Docker

33 painsavg 6.2/10
security 6dx 6config 3compatibility 3docs 3build 2storage 2performance 2architecture 1networking 1migration 1ecosystem 1deploy 1monitoring 1

Shared Kernel Isolation False Security in Containers

8

Docker containers rely on Linux kernel namespaces and cgroups for isolation rather than hardware virtualization. This creates a false sense of isolation—if a kernel vulnerability exists, all running containers inherit it. Container security is critically dependent on timely kernel updates to mitigate container escape vulnerabilities.

securityDocker

Docker build reproducibility issues with dependency version changes

8

Docker builds pulling dependencies from the public internet during build time cannot guarantee reproducibility over time. Different versions of dependencies may be pulled on subsequent builds, and if exact versions are no longer available, Docker throws errors, blocking deployments.

buildDocker

Hardcoded Secrets in Docker Images and Layers

8

Developers frequently expose sensitive credentials (passwords, API keys) by hardcoding them directly into Dockerfiles via ENV or ARG instructions or copying them into image layers. Once committed, these secrets persist in image history and create high-risk security vulnerabilities.

securityDocker

Docker disk space exhaustion

7

Docker's /var/lib/docker directory fills up with unused images, volumes, and logs, causing "No Space Left on Device" errors. Manual cleanup is required.

storageDocker

Docker socket access and privilege escalation risks

7

Docker runs as root by default and requires Unix domain socket access for communication. This creates privilege escalation risks and security considerations that developers must understand but are not well-documented.

securityDocker

Uncontrolled Container Resource Consumption Causing Host Crashes

7

Docker containers lack explicit resource constraints by default and can consume all available CPU and memory, potentially causing cascading host crashes and resource contention. While workarounds exist using resource limit flags, the default permissive behavior poses significant operational risk.

securityDocker

Self-hosted GitHub Actions runners lack parity with public runners

7

GitHub does not release Docker containers matching the public runner images. Self-hosted runners have poor support for rootless Docker-in-Docker and other standard configurations. GitHub expects users to do 90% of the work to maintain self-hosted infrastructure, yet charges for the service.

configGitHub ActionsDocker

Docker Compose security audit and third-party file inspection

7

Third-party Docker Compose files often contain security issues like unnecessary port exposures that compromise systems. Developers must manually inspect every file, but no tooling provides automated security validation.

securityDocker

Container entrypoint complexity and process termination

7

Complex tasks hidden in single entrypoints cause containers to terminate unexpectedly. If the entrypoint process dies, the entire container fails, making debugging difficult and requiring workarounds.

dxDocker

Persistent Storage and Stateful Application Limitations

7

Docker's native volume management lacks comprehensive enterprise-grade stateful operations. Data integrity guarantees, backups, encryption at rest, and cross-host replication cannot be reliably accomplished using only Docker volume commands. Organizations must adopt complex external orchestration systems like Kubernetes to meet production stateful workload requirements.

storageDockerKubernetes

Complexity and Scalability Challenges in Docker Development

7

As Docker projects scale in size and complexity, developers face significant technical and operational challenges encompassing container orchestration, networking, security vulnerabilities, and integration with existing systems. The inherent complexities become more pronounced when managing large-scale deployments.

architectureDocker

Container network connectivity issues

7

Containers fail to access external networks or communicate with each other. Requires manual troubleshooting of iptables, firewall rules, and Docker daemon configuration.

networkingDocker

Security vulnerabilities in base Docker images

7

Outdated packages and CVEs in Docker images are not automatically detected. Requires manual scanning and image updates, with no built-in vulnerability management.

securityDocker

Docker Desktop Licensing Model and Commercial Cost

7

Docker Desktop is no longer free for commercial use in larger organizations. Paid subscriptions (Pro, Team, or Business) are mandatory for organizations exceeding either of two thresholds, forcing significant OPEX increases. This licensing shift has driven developer evaluation of alternative solutions like Podman and Finch.

configDocker

Enterprise Migration and Legacy System Retraining

7

Large organizations adopting Docker at scale face organizational challenges including the need to retrain staff, re-architect legacy systems, and manage increased complexity of microservices architectures. This transition is fraught with difficulties despite clear deployment and scalability benefits.

migrationDocker

Docker Desktop Performance Degradation on Windows and macOS

6

Docker Desktop emulates Linux containers using virtual machines on Windows and macOS, resulting in slow performance, excessive CPU consumption, and battery drain during heavy builds and container orchestration. Native Linux performance is significantly better, creating cross-platform friction.

performanceDocker

Docker Compose version field incompatibility

6

Modifying the Docker Compose version field can silently disable features. Advancing the version makes previously valid compose files invalid, and there's no clear migration path or warning system.

compatibilityDocker

Slow test execution within Docker containers

6

Running tests from within Docker containers takes excruciatingly long to complete, adding significant overhead to the development and testing workflow.

performanceDocker

Docker volume permission mismatches (UID/GID)

6

File ownership mismatches occur when mounting volumes, causing "Permission Denied" errors. Requires manual UID/GID matching or SELinux context configuration.

configDocker

Slow Docker build times in CI/CD pipelines

6

Docker builds are slow on CI/CD pipelines, delaying deployment. Requires manual optimization (reordering Dockerfile, enabling BuildKit) that isn't default behavior.

buildDocker

Steep Learning Curve for Docker Adoption

6

Developers transitioning from other infrastructure approaches find Docker difficult to master despite initial ease of use. The steep learning curve is compounded by Docker extensions and additional tools that increase platform complexity, and rapid updates that make it hard to maintain proficiency.

dxDocker

PID1 Signal Semantics and Zombie Process Management

6

Docker inherits UNIX process management design issues where special init processes must be run to handle zombie process reaping. The PID1 signal semantics differ from other processes, causing compatibility problems with applications that don't account for these differences, though this can be mitigated with the --init flag.

compatibilityDocker

Non-local development environment complexity

6

64% of developers now use non-local cloud environments as primary setup, but this introduces coordination and debugging challenges that weren't present in local-only workflows, requiring new tooling and practices.

dxDocker

Most developers stuck on older Python versions despite major performance gains

5

83% of developers run Python versions 1+ years old despite containerization making upgrades trivial. Missing out on 11-42% performance improvements (3.11→3.13/3.10→3.13) and 10-30% memory reductions without code changes.

dxPythonDocker

Confusing Docker syntax and layer management complexity

5

Docker, docker-compose, and Dockerfile syntax is confusing with numerous edge cases. Image sizes grow to problematic sizes unless carefully constructed, and Docker enforces restrictions on multi-line RUN commands that lack clear documentation on resolution.

dxDockerdocker-compose

Lack of Docker experts in developer community

5

There is a substantial lack of Docker experts in the Stack Overflow community and broader developer ecosystem compared to other areas such as web development, making it difficult for developers to find help and solutions.

ecosystemDocker

Outdated and Lagging Documentation

5

Docker's documentation library doesn't keep pace with rapid releases and platform updates. Developers frequently struggle to find answers about changes in Docker until relevant documentation is finally available, creating frustration and delays.

docsDocker

Docker incompatibility with certain Python frameworks

5

Some Python libraries and frameworks (notably PySpark) cannot be easily used with Docker, forcing developers to choose between containerization approaches or framework selection, limiting deployment flexibility.

deployPythonDockerPySpark

Task planning and work coordination

5

26% of developers struggle with task planning and resource allocation. Container users specifically need better tools for task planning (18%), yet existing solutions don't adequately address this need.

dxDocker

Monitoring and logging visibility gaps

5

Container users need better monitoring/logging tools (16% request improvement), but existing solutions don't provide adequate observability for non-local distributed environments.

monitoringDocker

Docker Vendor Lock-In and Proprietary Dockerfile Syntax

4

Developers fear vendor lock-in with Docker's proprietary toolchain. While Dockerfile syntax is not governed by open standards, the OCI image and runtime specifications provide alternatives. Developers increasingly prefer solutions aligned with open standards to avoid single-vendor dependency and ensure long-term portability.

compatibilityDocker

Unclear distinction between Docker bind mounts and volumes

4

Docker documentation and syntax make it difficult to distinguish between bind mounts and volumes. Declaring a volumes entry in docker-compose.yml provides no clear indication whether a volume or bind mount is being created, leading to configuration confusion.

docsDockerdocker-compose

Poor Docker documentation with unrealistic tutorials

4

Docker tutorials and documentation either assume users are power users with deep knowledge or are so trivial that they don't represent real-world solutions, making them essentially useless for practical development scenarios.

docsDocker