Files
iris-context/commands/dev/docker.go
T

120 lines
2.9 KiB
Go

package dev
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "docker",
Description: "container engine",
Subcommands: []core.Subcommand{
{
Name: "ps",
Description: "list containers",
Options: []core.Option{
{Name: "-a", Description: "show all"},
{Name: "-q", Description: "only show IDs"},
},
},
{
Name: "build",
Description: "build image",
Options: []core.Option{
{Name: "-t", Description: "tag name"},
{Name: "-f", Description: "dockerfile path"},
{Name: "--no-cache", Description: "no build cache"},
},
},
{
Name: "run",
Description: "run container",
Options: []core.Option{
{Name: "-d", Description: "detached mode"},
{Name: "-p", Description: "port mapping"},
{Name: "-v", Description: "volume mount"},
{Name: "--rm", Description: "auto remove"},
{Name: "--name", Description: "container name"},
{Name: "-it", Description: "interactive tty"},
{Name: "-e", Description: "set env variable"},
},
},
{
Name: "pull",
Description: "pull image",
},
{
Name: "push",
Description: "push image",
},
{
Name: "exec",
Description: "exec in container",
Options: []core.Option{
{Name: "-it", Description: "interactive tty"},
},
},
{
Name: "stop",
Description: "stop container",
},
{
Name: "rm",
Description: "remove container",
Options: []core.Option{
{Name: "-f", Description: "force remove"},
},
},
{
Name: "rmi",
Description: "remove image",
},
{
Name: "images",
Description: "list images",
},
{
Name: "logs",
Description: "view logs",
Options: []core.Option{
{Name: "-f", Description: "follow output"},
{Name: "--tail", Description: "last n lines"},
},
},
{
Name: "compose",
Description: "multi-container",
Subcommands: []core.Subcommand{
{Name: "up", Description: "start services"},
{Name: "down", Description: "stop services"},
{Name: "build", Description: "build services"},
{Name: "logs", Description: "view logs"},
{Name: "ps", Description: "list services"},
{Name: "exec", Description: "execute command"},
{Name: "restart", Description: "restart services"},
},
},
{
Name: "network",
Description: "manage networks",
Subcommands: []core.Subcommand{
{Name: "ls", Description: "list networks"},
{Name: "create", Description: "create network"},
{Name: "rm", Description: "remove network"},
{Name: "inspect", Description: "show details"},
},
},
{
Name: "volume",
Description: "manage volumes",
Subcommands: []core.Subcommand{
{Name: "ls", Description: "list volumes"},
{Name: "create", Description: "create volume"},
{Name: "rm", Description: "remove volume"},
{Name: "prune", Description: "remove unused"},
},
},
},
})
}