formatter: Sort labels for stable output Several Labels() methods iterated over maps without sorting, producing non-deterministic output. In early versions of Go, map iteration order happened to be stable in practice, so the original code appeared to work correctly. Since Go 1.12, the runtime intentionally randomizes map iteration order, making the output unpredictable between runs. The API response produces sorted labels and the container formatter already sorted its labels (changed in 5ee17eef). Apply the same fix to the volume, network, config, and secret formatters, and update tests to assert exact ordering instead of using order-independent comparison. Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This repository is the home of the Docker CLI.
docker/cli is developed using Docker.
Build CLI from source:
docker buildx bake
Build binaries for all supported platforms:
docker buildx bake cross
Build for a specific platform:
docker buildx bake --set binary.platform=linux/arm64
Build dynamic binary for glibc or musl:
USE_GLIBC=1 docker buildx bake dynbinary
Run all linting:
docker buildx bake lint shellcheck
Run test:
docker buildx bake test
List all the available targets:
make help
Start an interactive development environment:
make -f docker.Makefile shell
Brought to you courtesy of our legal counsel. For more context, see the NOTICE document in this repo.
Use and transfer of Docker may be subject to certain restrictions by the United States and other governments.
It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.
For more information, see https://www.bis.doc.gov
docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.