Skip to content

Commit

Permalink
Merge pull request #4 from vertisan/dev-docker-shell-user
Browse files Browse the repository at this point in the history
Added an optional flag to change the container's user in "shell"
  • Loading branch information
paramah committed Aug 16, 2022
2 parents 784b95d + c9a52c8 commit bff551c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
10 changes: 9 additions & 1 deletion app/cmd/docker/shell.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,18 @@ var CmdComposeShell = cli.Command{
Usage: "run shell from main service",
Description: `Execute shell cmd in main service`,
Action: RunComposeShell,
Flags: []cli.Flag{
&cli.StringFlag{
Name: "user",
Aliases: []string{"u"},
Usage: "Username or UID (format: <name|uid>)",
Required: false,
},
},
}

func RunComposeShell(cmd *cli.Context) error {
ctx := context.InitCommand(cmd)
compose.ExecComposerShell(ctx)
compose.ExecComposerShell(ctx, *cmd)
return nil
}
11 changes: 8 additions & 3 deletions app/modules/compose/compose.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func CheckDockerComposeVersion() {
composeSemVer, _ := semver.NewVersion(composeVersion)

if !verConstraint.Check(composeSemVer) {
logger.Critical("Wrong docker-compose version, please update to " + DockerComposeVersion + " or higher.", nil)
logger.Critical("Wrong docker-compose version, please update to "+DockerComposeVersion+" or higher.", nil)
}
}

Expand Down Expand Up @@ -164,10 +164,15 @@ func ExecComposerRm(ctx *context.LedoContext) {
ctx.ExecCmd("docker-compose", args[0:])
}

func ExecComposerShell(ctx *context.LedoContext) {
func ExecComposerShell(ctx *context.LedoContext, command cli.Context) {
PrintCurrentMode(ctx)
args := ctx.ComposeArgs
args = append(args, "exec", strings.ToLower(ctx.Config.Docker.MainService), ctx.Config.Docker.Shell)
args = append(args, "exec")
user := command.String("user")
if user != "" {
args = append(args, "--user", user)
}
args = append(args, strings.ToLower(ctx.Config.Docker.MainService), ctx.Config.Docker.Shell)
ctx.ExecCmd("docker-compose", args[0:])
}

Expand Down

0 comments on commit bff551c

Please sign in to comment.