podman
23 строки · 674.0 Байт
1package specgenutil
2
3import (
4"fmt"
5
6"github.com/docker/go-connections/nat"
7)
8
9func verifyExpose(expose []string) error {
10// add the expose ports from the user (--expose)
11// can be single or a range
12for _, expose := range expose {
13// support two formats for expose, original format <portnum>/[<proto>] or <startport-endport>/[<proto>]
14_, port := nat.SplitProtoPort(expose)
15// parse the start and end port and create a sequence of ports to expose
16// if expose a port, the start and end port are the same
17_, _, err := nat.ParsePortRange(port)
18if err != nil {
19return fmt.Errorf("invalid range format for --expose: %s: %w", expose, err)
20}
21}
22return nil
23}
24