Skip to content

Bug: latest tag of orlangure/gnomock-cleaner is not compatible with the latest Docker API version #1225

Description

@your-diary

Describe the bug

The latest tag of orlangure/gnomock-cleaner image points to v0.30.0, which is about two years older than the latest v0.32.0.

The problem is that v0.30.0 (more strictly, docker v23.0.4 package used in v0.30.0) is incompatible with the latest Docker API version (see also API version matrix - Docker Engine API), so the cleaner does not work if you install the latest version of Docker:

$ docker logs -f 7ac8563d52e3 #checks the log of a cleaner container

2025/12/14 12:29:57 waiting for input
2025/12/14 12:29:57 got request to kill eb7cea05f200ae1bf12745276c0c3faf0a23beef28423da89c19b4079f1d7acf
2025/12/14 12:32:14 can't stop container eb7cea05f200ae1bf12745276c0c3faf0a23beef28423da89c19b4079f1d7acf:
can't stop container: can't stop container eb7cea05f200ae1bf12745276c0c3faf0a23beef28423da89c19b4079f1d7acf:
Error response from daemon:
client version 1.42 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version

To Reproduce

  1. Install the latest version of Docker.
  2. Use gnomock.
  3. Containers are NOT terminated.

Expected behavior

  • Containers should be terminated.
  • latest tag should point to v0.32.0.

System (please complete the following information):

  • OS: macOS
  • Version: 15.7.3
  • Docker version: 29.1.2

Workaround

As gnomock always tries to run a cleaner image with latest tag (source), just explicitly pulling v0.32.0-arm64 tag doesn't work.

We have additionally to tag the pulled image as latest locally:

$ docker image rm orlangure/gnomock-cleaner
$ docker pull orlangure/gnomock-cleaner:v0.32.0-arm64
$ docker tag orlangure/gnomock-cleaner:v0.32.0-arm64 orlangure/gnomock-cleaner:latest

And you have also to enable gnomock.WithUseLocalImagesFirst() everywhere in every codebase you work with; otherwise the tag is overridden (reverted back to the older version) as soon as you run a test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions