The Docker CLI
Go to file
Sebastiaan van Stijn 22a291f703
config: preserve ownership and permissions on configfile
When running `docker login` or `docker logout`, the CLI updates
the configuration file by creating a temporary file, to replace
the old one (if exists).

When using `sudo`, this caused the file to be created as `root`,
making it inaccessible to the current user.

This patch updates the CLI to fetch permissions and ownership of
the existing configuration file, and applies those permissions
to the new file, so that it has the same permissions as the
existing file (if any).

Currently, only done for "Unix-y" systems (Mac, Linux), but
can be implemented for Windows in future if there's a need.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-12-17 09:57:33 +01:00
.github Remove myself from codeowners 😅 2019-01-10 17:32:07 +01:00
cli config: preserve ownership and permissions on configfile 2019-12-17 09:57:33 +01:00
cli-plugins cli-plugins: add test names for easier debugging 2019-05-22 15:35:34 +00:00
cmd/docker Use command.Cli instead of command.DockerCli 2019-04-26 15:43:03 +01:00
contrib/completion Remove "docker engine" subcommands 2019-12-12 17:51:25 +01:00
dockerfiles Remove now obsolete gometalinter and use golangci-lint instead 2019-10-31 19:22:44 +01:00
docs docs: add redirects for engine reference pages 2019-12-12 17:51:33 +01:00
e2e Merge pull request #2196 from tiborvass/test-tlsverify 2019-12-12 15:15:15 +01:00
experimental Remove experimental "deploy" from "dab" files 2019-12-09 10:34:14 +01:00
internal/test Remove "docker engine" subcommands 2019-12-12 17:51:25 +01:00
kubernetes Use underlying `NewKubernetesConfig` directly from compose-on-kubernetes. 2019-05-14 15:43:15 +01:00
man Typo in documentation of volume create 2019-11-15 16:15:24 +01:00
opts Merge pull request #1803 from thaJeztah/add_ip_address_to_advanced_options 2019-12-04 15:16:15 +01:00
scripts Support GOARM and windows .exe in binary target 2019-05-06 10:43:18 -07:00
service/logs service/logs: Using the variable on range scope `testcase` in function literal (scopelint) 2019-10-31 19:22:33 +01:00
templates templates: Using the variable on range scope `testCase` in function literal (scopelint) 2019-10-31 19:22:33 +01:00
vendor Remove "docker engine" subcommands 2019-12-12 17:51:25 +01:00
.dockerignore Update dockerignore 2019-08-12 11:28:57 +02:00
.gitignore Update gitignore 2017-09-27 16:45:35 +02: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 2019-08-11 21:53:44 +02:00
AUTHORS Update AUTHORS and mailmap 2019-08-11 21:53:44 +02:00
CONTRIBUTING.md Add Contribution guidelines 2017-07-28 11:33:19 -07:00
Jenkinsfile e2e: enable buildkit 2019-08-12 11:29:04 +02: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 Add docker-compose schema v3.9 2019-08-30 10:58:05 +02:00
NOTICE switch kr/pty to creack/pty v1.1.7 2019-07-29 16:45:41 -07:00
README.md update Jenkins Build Status urls for README 2019-10-24 11:21:12 -04:00
TESTING.md Update TESTING.md to replace testify by gotest.tools 2018-07-02 09:24:28 +02:00
VERSION Bump version to 19.09.0-dev 2019-05-10 17:30:44 -07:00
appveyor.yml Update Golang 1.12.12 (CVE-2019-17596) 2019-10-20 23:26:31 +02:00
circle.yml CircleCI: add some info steps, and re-group jobs 2019-10-25 12:48:55 +02:00
codecov.yml Fix PR comments 2018-01-03 10:23:32 +01:00
docker.Makefile Add docker-compose schema v3.9 2019-08-30 10:58:05 +02:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.conf Remove "docker engine" subcommands 2019-12-12 17:51:25 +01:00

README.md

build status Build Status

docker/cli

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 a linux binary:

$ make -f docker.Makefile binary

Build binaries for all supported platforms:

$ make -f docker.Makefile cross

Run all linting:

$ make -f docker.Makefile lint

List all the available targets:

$ make help

In-container development environment

Start an interactive development environment:

$ make -f docker.Makefile shell

In the development environment you can run many tasks, including build binaries:

$ make binary

Legal

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.