Merge pull request #7106 from vieux/logout

Add logout command
This commit is contained in:
Victor Vieux 2014-07-18 14:13:59 -07:00
commit 9b3c0e65da
4 changed files with 63 additions and 1 deletions

View File

@ -67,7 +67,8 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
{"inspect", "Return low-level information on a container"},
{"kill", "Kill a running container"},
{"load", "Load an image from a tar archive"},
{"login", "Register or log in to the Docker registry server"},
{"login", "Register or log in to a Docker registry server"},
{"logout", "Log out from a 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,32 @@ func (cli *DockerCli) CmdLogin(args ...string) error {
return nil
}
// log out from a Docker registry
func (cli *DockerCli) CmdLogout(args ...string) error {
cmd := cli.Subcmd("logout", "[SERVER]", "Log out from a Docker registry, 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)
} else {
fmt.Fprintf(cli.out, "Remove login credentials for %s\n", serverAddress)
delete(cli.configFile.Configs, serverAddress)
if err := registry.SaveConfig(cli.configFile); err != nil {
return fmt.Errorf("Failed to save docker config: %v", err)
}
}
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.")

View File

@ -0,0 +1,23 @@
% DOCKER(1) Docker User Manuals
% Daniel, Dao Quang Minh
% JUNE 2014
# NAME
docker-logout - Log out from a Docker registry
# SYNOPSIS
**docker logout** [SERVER]
# DESCRIPTION
Log the user out from a Docker registry, if no server is
specified "https://index.docker.io/v1/" is the default. If you want to
log out from a private registry you can specify this by adding the server name.
# EXAMPLE
## Log out from a local registry
# docker logout localhost:8080
# HISTORY
June 2014, Originally compiled by Daniel, Dao Quang Minh (daniel at nitrous dot io)

View File

@ -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

View File

@ -732,6 +732,15 @@ specify this by adding the server name.
example:
$ docker login localhost:8080
## logout
Usage: docker logout [SERVER]
Log out from a Docker registry, if no server is specified "https://index.docker.io/v1/" is the default.
example:
$ docker logout localhost:8080
## logs
Usage: docker logs CONTAINER