The Docker CLI
Go to file
Sebastiaan van Stijn a7778806a0
cli/compose/schema: make version optional, default to "latest"
The compose spec (https://compose-spec.io) defines the version to be optional,
and implementations of the spec to check for supported attributes instead.

While this change does not switch the `docker stack` implementation to use the
compose-spec, it makes it function more similar. Previously, omitting a version
number would either produce an error (as the field was required), or switched
the handling to assume it was version 1.0 (which is deprecated).

With this change, compose files without a version number will be handled as
the latest version supported by `docker stack` (currently 3.10). This allows
users that work with docker-compose or docker compose (v2) to deploy their
compose file, without having to re-add a version number. Fields that are
not supported by stackes (schema 3.10) will still produce an error.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-18 12:26:04 +01:00
.circleci ci: github actions test workflow 2021-12-07 14:50:22 +01:00
.github vendor with go mod 2021-12-16 21:16:01 +01:00
cli cli/compose/schema: make version optional, default to "latest" 2022-02-18 12:26:04 +01:00
cli-plugins Set buildx as default builder 2022-02-03 10:38:05 +01:00
cmd/docker builder: conditional warning for wcow 2022-02-03 19:15:58 +01:00
contrib/completion make compose plugin detection in bash completion work on Mac OS 2022-01-09 12:15:00 +03:00
dockerfiles Set buildx as default builder 2022-02-03 10:38:05 +01:00
docs Merge pull request #3314 from crazy-max/buildx-default 2022-02-03 21:20:07 +01:00
e2e builder: simplify error generation, and rephrase error/warning 2022-02-03 10:38:05 +01:00
experimental experimental: fix broken link to "checkpoint and restore" page 2021-09-07 13:30:48 +02:00
internal/test Fix container creation time in test/builders 2020-12-16 08:55:29 +07:00
kubernetes Always enable experimental features 2020-10-02 15:59:42 +02:00
man vendor with go mod 2021-12-16 21:16:01 +01:00
opts Set buildx as default builder 2022-02-03 10:38:05 +01:00
scripts scripts/vendor: run go mod tidy when vendoring 2022-01-28 11:35:36 +01:00
service/logs bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
templates bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
vendor vendor: compose-on-kubernetes v0.5.0 to remove use of github.com/golang/glog 2022-02-14 14:54:51 +01:00
.dockerignore vendor with go mod 2021-12-16 21:16:01 +01:00
.gitattributes fix linguist with .gitattributes 2021-12-16 21:16:02 +01:00
.gitignore vendor with go mod 2021-12-16 21:16:01 +01:00
.golangci.yml Remove now obsolete gometalinter and use golangci-lint instead 2019-10-31 19:22:44 +01:00
.mailmap Update authors and mailmap 2020-08-06 01:58:32 +02:00
AUTHORS Update authors and mailmap 2020-08-06 01:58:32 +02:00
CONTRIBUTING.md Fix broken link in CONTRIBUTING 2020-03-19 15:03:59 +01:00
Dockerfile Set buildx as default builder 2022-02-03 10:38:05 +01:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Maintainers: remove Justin and Aaron 2019-12-04 13:08:15 +01:00
Makefile vendor with go mod 2021-12-16 21:16:01 +01:00
NOTICE switch kr/pty to creack/pty v1.1.7 2019-07-29 16:45:41 -07:00
README.md ci: github actions test workflow 2021-12-07 14:50:22 +01:00
TESTING.md Update TESTING.md to replace testify by gotest.tools 2018-07-02 09:24:28 +02:00
VERSION Update version to 20.10-dev 2020-10-13 09:37:17 +02:00
codecov.yml Fix PR comments 2018-01-03 10:23:32 +01:00
docker-bake.hcl use uuid to invalidate cache 2022-01-13 13:47:43 +01:00
docker.Makefile use uuid to invalidate cache 2022-01-13 13:47:43 +01:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.mod vendor: compose-on-kubernetes v0.5.0 to remove use of github.com/golang/glog 2022-02-14 14:54:51 +01:00
vendor.sum vendor: compose-on-kubernetes v0.5.0 to remove use of github.com/golang/glog 2022-02-14 14:54:51 +01:00

README.md

Docker CLI

PkgGoDev Build Status Test Status CircleCI Status Go Report Card Codecov

About

This repository is the home of the cli used in the Docker CE and Docker EE products.

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.