120 lines
2.9 KiB
Go
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"},
|
|
},
|
|
},
|
|
},
|
|
})
|
|
}
|