Projects STRLCPY cdebug Commits 14f7072f
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■
    cmd/exec/exec.go
    skipped 130 lines
    131 131   return fmt.Errorf("cannot initialize Docker client: %w", err)
    132 132   }
    133 133   
     134 + target, err := client.ContainerInspect(ctx, opts.target)
     135 + if err != nil {
     136 + return fmt.Errorf("cannot inspect target container: %w", err)
     137 + }
     138 + 
     139 + if target.State == nil || !target.State.Running {
     140 + return fmt.Errorf("target container found but it's not running")
     141 + }
     142 + 
    134 143   if err := pullImage(ctx, cli, client, opts.image); err != nil {
    135 144   return err
    136 145   }
    137 146   
    138 147   runID := shortID()
    139  - target := "container:" + opts.target
     148 + nsMode := "container:" + target.ID
    140 149   resp, err := client.ContainerCreate(
    141 150   ctx,
    142 151   &container.Config{
    skipped 25 lines
    168 177   Privileged: opts.privileged,
    169 178   AutoRemove: opts.autoRemove,
    170 179   
    171  - NetworkMode: container.NetworkMode(target),
    172  - PidMode: container.PidMode(target),
    173  - UTSMode: container.UTSMode(target),
    174  - // TODO: IpcMode: container.IpcMode("container:my-distroless"),
     180 + NetworkMode: container.NetworkMode(nsMode),
     181 + PidMode: container.PidMode(nsMode),
     182 + UTSMode: container.UTSMode(nsMode),
     183 + // TODO: CgroupnsMode: container.CgroupnsMode(nsMode),
     184 + // TODO: IpcMode: container.IpcMode(nsMode)
     185 + // TODO: UsernsMode: container.UsernsMode(target)
    175 186   },
    176 187   nil,
    177 188   nil,
    skipped 185 lines
Please wait...
Page is in error, reload to recover