aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/container.go
diff options
context:
space:
mode:
Diffstat (limited to 'container/container.go')
-rw-r--r--container/container.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/container/container.go b/container/container.go
index 2301ce75..dee4a44d 100644
--- a/container/container.go
+++ b/container/container.go
@@ -132,6 +132,24 @@ func (e *StartError) Error() string {
return e.Step + ": " + e.Err.Error()
}
+// Message returns a user-facing error message.
+func (e *StartError) Message() string {
+ if e.Passthrough {
+ switch {
+ case errors.As(e.Err, new(*os.PathError)),
+ errors.As(e.Err, new(*os.SyscallError)):
+ return "cannot " + e.Err.Error()
+
+ default:
+ return e.Err.Error()
+ }
+ }
+ if e.Origin {
+ return e.Step
+ }
+ return "cannot " + e.Error()
+}
+
// Start starts the container init. The init process blocks until Serve is called.
func (p *Container) Start() error {
if p.cmd != nil {