chore: evaluate Docker Go SDK for context-aware container runtime support
Les mainteneurs répondent en général sous 1 jour
@SafeeImran y travaille déjà.
Depuis le 26/9/2026.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
The evaluation focuses on the container client in pkg/connectors. Start by reviewing the current github.com/docker/docker/client usage there. Create a proof-of-concept using docker/go-sdk to test the required capabilities, especially context resolution for Docker Desktop. Run existing container-client tests to ensure compatibility. The outcome is a recommendation, not a full migration.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
Evaluate the official docker/go-sdk as a replacement for the current low-level github.com/docker/docker/client integration.
The current client reads DOCKER_HOST but does not resolve Docker CLI contexts. Consequently, microcks-cli may try /var/run/docker.sock even when Docker Desktop uses the active desktop-linux context and exposes its socket at $HOME/.docker/run/docker.sock.
The Docker Go SDK provides Docker-context discovery, but it has not reached v1.0.0. We should verify that it supports all capabilities required by microcks-cli before adopting it.
Goals
- Test whether
docker/go-sdk/clientcorrectly resolves the active Docker context. - Verify that it supports all current container operations.
- Determine whether it can preserve Docker and Podman compatibility.
- Estimate the migration from
github.com/docker/dockerto the newer Docker/Moby API packages. - Produce a go/no-go recommendation.
Required capabilities
Verify support for:
- Pulling container images and streaming pull progress.
- Creating containers with port bindings and auto-remove.
- Starting and stopping containers.
- Inspecting whether a container exists.
- Closing the client cleanly.
- Docker API-version negotiation.
- Explicit
DOCKER_HOSTconfiguration. - Active Docker context resolution.
DOCKER_CONTEXToverrides.- Docker Desktop’s
$HOME/.docker/run/docker.sock. - Linux’s
/var/run/docker.sock. - Windows named pipes.
- Remote contexts and their TLS configuration.
- Podman through its Docker-compatible socket.
Compatibility scenarios
At minimum, test:
- Docker Desktop on macOS with the
/var/run/docker.sockcompatibility symlink disabled. - Docker Desktop on macOS with the compatibility symlink enabled.
- Explicit
DOCKER_HOST. - Local Docker Engine on Linux.
- Podman machine on macOS or Windows.
- Rootless Podman on Linux.
- A named Docker context.
- An unreachable or invalid context, ensuring the error is actionable.
Dependency assessment
Document:
- The exact
docker/go-sdkversion tested. - Its API stability and release status.
- Required changes to existing Docker API type imports.
- Interaction with
testcontainers-goandmicrocks.io/testcontainers-go. - Any dependency-version conflicts.
- Binary-size impact, if material.
- Whether adopting it requires a complete Moby API migration or can be isolated to
pkg/connectors.
Because the SDK is pre-v1, any adoption should pin an exact released version rather than a branch or pseudo-version.
Acceptance criteria
-
A small proof of concept exercises the operations currently used by
containerClient. -
The proof of concept successfully connects through the
desktop-linuxcontext without settingDOCKER_HOST. -
DOCKER_HOSTandDOCKER_CONTEXTprecedence is verified. -
Docker and Podman behavior is documented.
-
Existing container-client tests continue to pass or required changes are identified.
-
The issue concludes with one of:
- Adopt: create a focused migration issue with the required changes.
- Defer: document the missing capabilities or stability concerns and retain the current client.
- Reject: document the incompatibilities and the preferred alternative.
Non-goals
- Rewriting the complete container abstraction during the evaluation.
- Migrating production code before compatibility is demonstrated.
- Replacing the separate Testcontainers integration unless the evaluation identifies a concrete requirement.
- Langage dominant
- Go
- Étoiles
- 59
- Forks
- 75
- Merge moyen
- 4 j 5 h
- PR mergées (30 j)
- 15
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microcks/microcks-cli
-
WatchConfig.UpsertEntry silently deletes existing contexts when re-upserting a watched filePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
microcks/microcks-cli#610 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug: microcks test get swallows test failure details and operation results in text output modeOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
microcks/microcks-cli#608 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
KeycloakClient strips realm path when realm URL lacks trailing slashPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
microcks/microcks-cli#606 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Windows test failures in MockFileSystem.Walk due to path separatorPeut-être pris @dipak0000812 l’a pris il y a 5 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
microcks/microcks-cli#601 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Bug: `testEndpoint` URL Scheme Not ValidatedPeut-être pris @aniket866 l’a pris il y a 5 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
microcks/microcks-cli#598 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de microcks/microcks-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
txn2/mcp-data-platform#2493 ·
Les mainteneurs répondent en général sous 1 jour
-
area/docs framework/hugo help wanted language/markdown
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
openclaw/crabbox#3060 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
radius-project/radius#13698 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour