The Docker CLI
Перейти к файлу
Jonathan A. Sternberg 89db01ef97
cli: add otel sdk tracing and metric providers to the core cli
This adds the code used by buildx and compose into the default CLI
program to help normalize the usage of these APIs and allow code reuse
between projects. It also allows these projects to benefit from
improvements or changes that may be made by another team.

At the moment, these APIs are a pretty thin layer on the OTEL SDK. It
configures an additional exporter to a docker endpoint that's used for
usage collection and is only active if the option is configured in
docker desktop.

This also upgrades the OTEL version to v1.19 which is the one being used
by buildkit, buildx, compose, etc.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2024-03-25 11:11:34 -05:00
.github ci: set DISABLE_WARN_OUTSIDE_CONTAINER=1 for CodeQL action 2024-03-17 14:49:49 +01:00
cli cli: add otel sdk tracing and metric providers to the core cli 2024-03-25 11:11:34 -05:00
cli-plugins Merge pull request #4376 from laurazard/plugin-hooks 2024-03-22 14:34:14 -06:00
cmd/docker Merge pull request #4376 from laurazard/plugin-hooks 2024-03-22 14:34:14 -06:00
contrib/completion Fixed typo in bash completion functions 2024-02-17 17:11:28 +11:00
dockerfiles Dockerfile: update mvdan/gofumpt to v0.6.0 2024-03-17 13:48:13 +01:00
docs Merge pull request #4929 from dvdksn/privileged-flag 2024-03-20 09:10:03 -06:00
e2e update to go1.21.8 2024-03-05 22:08:26 +01:00
experimental experimental: fix broken link to "checkpoint and restore" page 2021-09-07 13:30:48 +02:00
internal/test fix: cli prompt termination exit code 2024-03-04 15:26:17 +01:00
man man/docker-build.1: typo in parameter variable: CID => IID 2024-02-16 11:10:06 +01:00
opts test/ Improve test coverage in volume.go 2024-03-20 19:53:33 +01:00
scripts Merge pull request #4933 from Xeonacid/riscv-CGO_ENABLED 2024-03-25 12:04:11 +01:00
service/logs service/logs: use strings.Cut 2022-12-29 15:19:31 +01:00
templates add //go:build directives to prevent downgrading to go1.16 language 2023-12-14 15:03:46 +01:00
vendor cli: add otel sdk tracing and metric providers to the core cli 2024-03-25 11:11:34 -05:00
.dockerignore validate manpages target 2022-02-25 17:11:17 +01:00
.gitattributes fix linguist with .gitattributes 2021-12-16 21:16:02 +01:00
.gitignore validate manpages target 2022-02-25 17:11:17 +01:00
.golangci.yml templates: linting: fix "error return value is not checked (errchkjson) 2023-11-20 19:52:46 +01:00
.mailmap update authors and mailmap 2023-12-21 01:12:19 +01:00
AUTHORS update authors and mailmap 2023-12-21 01:12:19 +01:00
CONTRIBUTING.md - What I did 2023-10-19 16:10:27 -04:00
Dockerfile Dockerfile: update to xx 1.4.0 2024-03-11 14:24:26 +01:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS not actually a maintainer 2023-11-10 21:35:15 +01:00
Makefile Dockerfile: update mvdan/gofumpt to v0.6.0 2024-03-17 13:48:13 +01:00
NOTICE switch kr/pty to creack/pty v1.1.7 2019-07-29 16:45:41 -07:00
README.md Readme: remove reference to "Docker EE" 2023-11-28 10:23:11 +01:00
TESTING.md tweak description of login/logout 2022-04-04 10:44:11 +02:00
VERSION Update version to v25.0.0-dev 2023-05-08 08:57:19 +02:00
codecov.yml Drop support for (archived) Compose-on-Kubernetes 2022-02-22 13:47:34 +01:00
docker-bake.hcl Merge pull request #4923 from vvoland/cli-arm64 2024-03-06 09:08:20 -07:00
docker.Makefile Cleanup of dockerfiles, compose files and env vars 2024-02-13 13:32:45 +00:00
vendor.mod cli: add otel sdk tracing and metric providers to the core cli 2024-03-25 11:11:34 -05:00
vendor.sum cli: add otel sdk tracing and metric providers to the core cli 2024-03-25 11:11:34 -05:00

README.md

Docker CLI

PkgGoDev Build Status Test Status Go Report Card Codecov

About

This repository is the home of the Docker CLI.

Development

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

In-container development environment

Start an interactive development environment:

make -f docker.Makefile shell

Brought to you courtesy of our legal counsel. For more context, please 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, please see https://www.bis.doc.gov

Licensing

docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.