mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00

- Incorrect name being shown on dashboard "Proxies page" - Apps being shown when homepage.show is false - Load balanced routes are shown on homepage instead of the load balancer - Route with idlewatcher will now be removed on container destroy - Idlewatcher panic - Performance improvement - Idlewatcher infinitely loading - Reload stucked / not working properly - Streams stuck on shutdown / reload - etc... Added: - support idlewatcher for loadbalanced routes - partial implementation for stream type idlewatcher Issues: - graceful shutdown
31 lines
718 B
Go
31 lines
718 B
Go
package docker
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"time"
|
|
|
|
E "github.com/yusing/go-proxy/internal/error"
|
|
)
|
|
|
|
func Inspect(dockerHost string, containerID string) (*Container, E.NestedError) {
|
|
client, err := ConnectClient(dockerHost)
|
|
defer client.Close()
|
|
|
|
if err.HasError() {
|
|
return nil, E.FailWith("connect to docker", err)
|
|
}
|
|
|
|
return client.Inspect(containerID)
|
|
}
|
|
|
|
func (c Client) Inspect(containerID string) (*Container, E.NestedError) {
|
|
ctx, cancel := context.WithTimeoutCause(context.Background(), 3*time.Second, errors.New("docker container inspect timeout"))
|
|
defer cancel()
|
|
|
|
json, err := c.ContainerInspect(ctx, containerID)
|
|
if err != nil {
|
|
return nil, E.From(err)
|
|
}
|
|
return FromJSON(json, c.key), nil
|
|
}
|