testcontainers / testcontainers/testcontainers-java

Split off the DockerClientFactory from this library

Open
#240 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

resolution/acknowledged type/breaking-api-change
Dominant language
Java
Stars
8.7k
Forks
1.9k
Avg merge
2d 17h
Merged PRs (30d)
9

Description

Most times I play with other Docker/Java libraries than TestContainers I end up in a world of dependency or configuration hell. It seems like one of the biggest reasons for this is this library's DockerClientFactory class, which does a really excellent job of inspecting the environment and choosing the best way of running Docker on the local machine with very little user intervention.

This is particularly instrumental when trying to convince other users to adopt Docker-based unit testing—if it doesn't "just work" (as it does!), skeptical developers are prone to reject the whole thing.

Therefore, I think that this class and its supporting cast should perhaps be split off into a separate package or merged upstream so that more people and projects can benefit this most commendable work. I know I'd certainly use it!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading core/src/main/java/org/testcontainers/DockerClientFactory.java and identifying the supporting classes involved in environment inspection and Docker runtime selection. The issue proposes separating this functionality into its own package or merging it upstream, so first clarify the extraction boundary and integration target; done means the resulting functionality can benefit other Docker/Java projects without the current dependency or configuration conflicts.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java
Domain
testing, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.