|
@@ -1,4 +1,4 @@
|
|
|
-package runconfig
|
|
|
+package opts
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
@@ -12,39 +12,11 @@ import (
|
|
|
flag "github.com/docker/docker/pkg/mflag"
|
|
|
"github.com/docker/docker/pkg/mount"
|
|
|
"github.com/docker/docker/pkg/signal"
|
|
|
- runconfigopts "github.com/docker/docker/runconfig/opts"
|
|
|
"github.com/docker/docker/volume"
|
|
|
"github.com/docker/go-connections/nat"
|
|
|
"github.com/docker/go-units"
|
|
|
)
|
|
|
|
|
|
-var (
|
|
|
- // ErrConflictContainerNetworkAndLinks conflict between --net=container and links
|
|
|
- ErrConflictContainerNetworkAndLinks = fmt.Errorf("Conflicting options: container type network can't be used with links. This would result in undefined behavior")
|
|
|
- // ErrConflictUserDefinedNetworkAndLinks conflict between --net=<NETWORK> and links
|
|
|
- ErrConflictUserDefinedNetworkAndLinks = fmt.Errorf("Conflicting options: networking can't be used with links. This would result in undefined behavior")
|
|
|
- // ErrConflictSharedNetwork conflict between private and other networks
|
|
|
- ErrConflictSharedNetwork = fmt.Errorf("Container sharing network namespace with another container or host cannot be connected to any other network")
|
|
|
- // ErrConflictHostNetwork conflict from being disconnected from host network or connected to host network.
|
|
|
- ErrConflictHostNetwork = fmt.Errorf("Container cannot be disconnected from host network or connected to host network")
|
|
|
- // ErrConflictNoNetwork conflict between private and other networks
|
|
|
- ErrConflictNoNetwork = fmt.Errorf("Container cannot be connected to multiple networks with one of the networks in private (none) mode")
|
|
|
- // ErrConflictNetworkAndDNS conflict between --dns and the network mode
|
|
|
- ErrConflictNetworkAndDNS = fmt.Errorf("Conflicting options: dns and the network mode")
|
|
|
- // ErrConflictNetworkHostname conflict between the hostname and the network mode
|
|
|
- ErrConflictNetworkHostname = fmt.Errorf("Conflicting options: hostname and the network mode")
|
|
|
- // ErrConflictHostNetworkAndLinks conflict between --net=host and links
|
|
|
- ErrConflictHostNetworkAndLinks = fmt.Errorf("Conflicting options: host type networking can't be used with links. This would result in undefined behavior")
|
|
|
- // ErrConflictContainerNetworkAndMac conflict between the mac address and the network mode
|
|
|
- ErrConflictContainerNetworkAndMac = fmt.Errorf("Conflicting options: mac-address and the network mode")
|
|
|
- // ErrConflictNetworkHosts conflict between add-host and the network mode
|
|
|
- ErrConflictNetworkHosts = fmt.Errorf("Conflicting options: custom host-to-IP mapping and the network mode")
|
|
|
- // ErrConflictNetworkPublishPorts conflict between the publish options and the network mode
|
|
|
- ErrConflictNetworkPublishPorts = fmt.Errorf("Conflicting options: port publishing and the container type network mode")
|
|
|
- // ErrConflictNetworkExposePorts conflict between the expose option and the network mode
|
|
|
- ErrConflictNetworkExposePorts = fmt.Errorf("Conflicting options: port exposing and the container type network mode")
|
|
|
-)
|
|
|
-
|
|
|
// Parse parses the specified args for the specified command and generates a Config,
|
|
|
// a HostConfig and returns them with the specified command.
|
|
|
// If the specified args are not valid, it will return an error.
|
|
@@ -54,17 +26,17 @@ func Parse(cmd *flag.FlagSet, args []string) (*container.Config, *container.Host
|
|
|
flAttach = opts.NewListOpts(opts.ValidateAttach)
|
|
|
flVolumes = opts.NewListOpts(nil)
|
|
|
flTmpfs = opts.NewListOpts(nil)
|
|
|
- flBlkioWeightDevice = runconfigopts.NewWeightdeviceOpt(runconfigopts.ValidateWeightDevice)
|
|
|
- flDeviceReadBps = runconfigopts.NewThrottledeviceOpt(runconfigopts.ValidateThrottleBpsDevice)
|
|
|
- flDeviceWriteBps = runconfigopts.NewThrottledeviceOpt(runconfigopts.ValidateThrottleBpsDevice)
|
|
|
+ flBlkioWeightDevice = NewWeightdeviceOpt(ValidateWeightDevice)
|
|
|
+ flDeviceReadBps = NewThrottledeviceOpt(ValidateThrottleBpsDevice)
|
|
|
+ flDeviceWriteBps = NewThrottledeviceOpt(ValidateThrottleBpsDevice)
|
|
|
flLinks = opts.NewListOpts(ValidateLink)
|
|
|
- flDeviceReadIOps = runconfigopts.NewThrottledeviceOpt(runconfigopts.ValidateThrottleIOpsDevice)
|
|
|
- flDeviceWriteIOps = runconfigopts.NewThrottledeviceOpt(runconfigopts.ValidateThrottleIOpsDevice)
|
|
|
+ flDeviceReadIOps = NewThrottledeviceOpt(ValidateThrottleIOpsDevice)
|
|
|
+ flDeviceWriteIOps = NewThrottledeviceOpt(ValidateThrottleIOpsDevice)
|
|
|
flEnv = opts.NewListOpts(opts.ValidateEnv)
|
|
|
flLabels = opts.NewListOpts(opts.ValidateEnv)
|
|
|
flDevices = opts.NewListOpts(ValidateDevice)
|
|
|
|
|
|
- flUlimits = runconfigopts.NewUlimitOpt(nil)
|
|
|
+ flUlimits = NewUlimitOpt(nil)
|
|
|
|
|
|
flPublish = opts.NewListOpts(nil)
|
|
|
flExpose = opts.NewListOpts(nil)
|