1// Copyright 2023 The Gitea Authors. All rights reserved.2// SPDX-License-Identifier: MIT34package envcheck56import (7 "context"8 "fmt"910 "github.com/docker/docker/client"11)1213func CheckIfDockerRunning(ctx context.Context, configDockerHost string) error {14 opts := []client.Opt{15 client.FromEnv,16 }1718 if configDockerHost != "" {19 opts = append(opts, client.WithHost(configDockerHost))20 }2122 cli, err := client.NewClientWithOpts(opts...)23 if err != nil {24 return err25 }26 defer cli.Close()2728 _, err = cli.Ping(ctx)29 if err != nil {30 return fmt.Errorf("cannot ping the docker daemon. is it running? %w", err)31 }3233 return nil34}