mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add logout command
"docker logout [SERVER]" will remove the registry server' credentials from .dockercfg file. If a server is not specified, it will log user out of the default docker registry server Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
This commit is contained in:
parent
36608696e1
commit
06bc4e0752
4 changed files with 67 additions and 0 deletions
|
@ -68,6 +68,7 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
|
|||
{"kill", "Kill a running container"},
|
||||
{"load", "Load an image from a tar archive"},
|
||||
{"login", "Register or log in to the Docker registry server"},
|
||||
{"logout", "Logout of the Docker registry server"},
|
||||
{"logs", "Fetch the logs of a container"},
|
||||
{"port", "Lookup the public-facing port that is NAT-ed to PRIVATE_PORT"},
|
||||
{"pause", "Pause all processes within a container"},
|
||||
|
@ -353,6 +354,36 @@ func (cli *DockerCli) CmdLogin(args ...string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// logout of a registry service
|
||||
func (cli *DockerCli) CmdLogout(args ...string) error {
|
||||
cmd := cli.Subcmd("logout", "[SERVER]", "Logout of a docker registry server, if no server is specified \""+registry.IndexServerAddress()+"\" is the default.")
|
||||
|
||||
if err := cmd.Parse(args); err != nil {
|
||||
return nil
|
||||
}
|
||||
serverAddress := registry.IndexServerAddress()
|
||||
if len(cmd.Args()) > 0 {
|
||||
serverAddress = cmd.Arg(0)
|
||||
}
|
||||
|
||||
cli.LoadConfigFile()
|
||||
if _, ok := cli.configFile.Configs[serverAddress]; !ok {
|
||||
fmt.Fprintf(cli.out, "Not logged in to %s\n", serverAddress)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
fmt.Fprintf(cli.out, "Remove login credentials for %s\n", serverAddress)
|
||||
delete(cli.configFile.Configs, serverAddress)
|
||||
|
||||
if err := registry.SaveConfig(cli.configFile); err != nil {
|
||||
fmt.Fprintln(cli.out, "Failed to save docker config")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Fprintln(cli.out, "Saved docker config")
|
||||
return nil
|
||||
}
|
||||
|
||||
// 'docker wait': block until a container stops
|
||||
func (cli *DockerCli) CmdWait(args ...string) error {
|
||||
cmd := cli.Subcmd("wait", "CONTAINER [CONTAINER...]", "Block until a container stops, then print its exit code.")
|
||||
|
|
24
docs/man/docker-logout.1.md
Normal file
24
docs/man/docker-logout.1.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
% DOCKER(1) Docker User Manuals
|
||||
% William Henry
|
||||
% APRIL 2014
|
||||
# NAME
|
||||
docker-logout - Log the user out of a Docker registry server
|
||||
|
||||
# SYNOPSIS
|
||||
**docker logout** [SERVER]
|
||||
|
||||
# DESCRIPTION
|
||||
Log the user out of a docker registry server, , if no server is
|
||||
specified "https://index.docker.io/v1/" is the default. If you want to
|
||||
logout of a private registry you can specify this by adding the server name.
|
||||
|
||||
# EXAMPLE
|
||||
|
||||
## Logout of a local registry
|
||||
|
||||
# docker logout localhost:8080
|
||||
|
||||
# HISTORY
|
||||
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
|
||||
based on docker.io source material and internal work.
|
||||
|
|
@ -124,6 +124,9 @@ inside it)
|
|||
**docker-login(1)**
|
||||
Register or Login to a Docker registry server
|
||||
|
||||
**docker-logout(1)**
|
||||
Log the user out of a Docker registry server
|
||||
|
||||
**docker-logs(1)**
|
||||
Fetch the logs of a container
|
||||
|
||||
|
|
|
@ -732,6 +732,15 @@ specify this by adding the server name.
|
|||
example:
|
||||
$ docker login localhost:8080
|
||||
|
||||
## logout
|
||||
|
||||
Usage: docker logout [SERVER]
|
||||
|
||||
Log the user out of a docker registry server, if no server is specified "https://index.docker.io/v1/" is the default.
|
||||
|
||||
example:
|
||||
$ docker logout localhost:8080
|
||||
|
||||
## logs
|
||||
|
||||
Usage: docker logs CONTAINER
|
||||
|
|
Loading…
Reference in a new issue