Remove unneeded references to execDriver

This includes:
 - updating the docs
 - removing dangling variables

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
This commit is contained in:
Kenfe-Mickael Laventure 2016-03-18 12:43:17 -07:00
parent be8459c248
commit 8af4f89cba
15 changed files with 164 additions and 161 deletions

View File

@ -51,7 +51,7 @@ complete -c docker -f -n '__fish_docker_no_subcommand' -s d -l daemon -d 'Enable
complete -c docker -f -n '__fish_docker_no_subcommand' -l dns -d 'Force Docker to use specific DNS servers' complete -c docker -f -n '__fish_docker_no_subcommand' -l dns -d 'Force Docker to use specific DNS servers'
complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-opt -d 'Force Docker to use specific DNS options' complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-opt -d 'Force Docker to use specific DNS options'
complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-search -d 'Force Docker to use specific DNS search domains' complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-search -d 'Force Docker to use specific DNS search domains'
complete -c docker -f -n '__fish_docker_no_subcommand' -l exec-opt -d 'Set exec driver options' complete -c docker -f -n '__fish_docker_no_subcommand' -l exec-opt -d 'Set runtime execution options'
complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr -d 'IPv4 subnet for fixed IPs (e.g. 10.20.0.0/16)' complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr -d 'IPv4 subnet for fixed IPs (e.g. 10.20.0.0/16)'
complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr-v6 -d 'IPv6 subnet for fixed IPs (e.g.: 2001:a02b/48)' complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr-v6 -d 'IPv6 subnet for fixed IPs (e.g.: 2001:a02b/48)'
complete -c docker -f -n '__fish_docker_no_subcommand' -s G -l group -d 'Group to assign the unix socket specified by -H when running in daemon mode' complete -c docker -f -n '__fish_docker_no_subcommand' -s G -l group -d 'Group to assign the unix socket specified by -H when running in daemon mode'

View File

@ -650,8 +650,8 @@ __docker_subcommand() {
"($help)*--dns-opt=[DNS options to use]:DNS option: " \ "($help)*--dns-opt=[DNS options to use]:DNS option: " \
"($help)*--default-ulimit=[Default ulimit settings for containers]:ulimit: " \ "($help)*--default-ulimit=[Default ulimit settings for containers]:ulimit: " \
"($help)--disable-legacy-registry[Do not contact legacy registries]" \ "($help)--disable-legacy-registry[Do not contact legacy registries]" \
"($help)*--exec-opt=[Exec driver options]:exec driver options: " \ "($help)*--exec-opt=[Runtime execution options]:runtime execution options: " \
"($help)--exec-root=[Root of the Docker execdriver]:path:_directories" \ "($help)--exec-root=[Root directory for execution state files]:path:_directories" \
"($help)--fixed-cidr=[IPv4 subnet for fixed IPs]:IPv4 subnet: " \ "($help)--fixed-cidr=[IPv4 subnet for fixed IPs]:IPv4 subnet: " \
"($help)--fixed-cidr-v6=[IPv6 subnet for fixed IPs]:IPv6 subnet: " \ "($help)--fixed-cidr-v6=[IPv6 subnet for fixed IPs]:IPv6 subnet: " \
"($help -G --group)"{-G=,--group=}"[Group for the unix socket]:group:_groups" \ "($help -G --group)"{-G=,--group=}"[Group for the unix socket]:group:_groups" \

View File

@ -112,10 +112,10 @@ func (config *Config) InstallCommonFlags(cmd *flag.FlagSet, usageFn func(string)
cmd.Var(opts.NewNamedListOptsRef("storage-opts", &config.GraphOptions, nil), []string{"-storage-opt"}, usageFn("Set storage driver options")) cmd.Var(opts.NewNamedListOptsRef("storage-opts", &config.GraphOptions, nil), []string{"-storage-opt"}, usageFn("Set storage driver options"))
cmd.Var(opts.NewNamedListOptsRef("authorization-plugins", &config.AuthorizationPlugins, nil), []string{"-authorization-plugin"}, usageFn("List authorization plugins in order from first evaluator to last")) cmd.Var(opts.NewNamedListOptsRef("authorization-plugins", &config.AuthorizationPlugins, nil), []string{"-authorization-plugin"}, usageFn("List authorization plugins in order from first evaluator to last"))
cmd.Var(opts.NewNamedListOptsRef("exec-opts", &config.ExecOptions, nil), []string{"-exec-opt"}, usageFn("Set exec driver options")) cmd.Var(opts.NewNamedListOptsRef("exec-opts", &config.ExecOptions, nil), []string{"-exec-opt"}, usageFn("Set runtime execution options"))
cmd.StringVar(&config.Pidfile, []string{"p", "-pidfile"}, defaultPidFile, usageFn("Path to use for daemon PID file")) cmd.StringVar(&config.Pidfile, []string{"p", "-pidfile"}, defaultPidFile, usageFn("Path to use for daemon PID file"))
cmd.StringVar(&config.Root, []string{"g", "-graph"}, defaultGraph, usageFn("Root of the Docker runtime")) cmd.StringVar(&config.Root, []string{"g", "-graph"}, defaultGraph, usageFn("Root of the Docker runtime"))
cmd.StringVar(&config.ExecRoot, []string{"-exec-root"}, defaultExecRoot, usageFn("Root of the Docker execdriver")) cmd.StringVar(&config.ExecRoot, []string{"-exec-root"}, defaultExecRoot, usageFn("Root directory for execution state files"))
cmd.BoolVar(&config.AutoRestart, []string{"#r", "#-restart"}, true, usageFn("--restart on the daemon has been deprecated in favor of --restart policies on docker run")) cmd.BoolVar(&config.AutoRestart, []string{"#r", "#-restart"}, true, usageFn("--restart on the daemon has been deprecated in favor of --restart policies on docker run"))
cmd.StringVar(&config.GraphDriver, []string{"s", "-storage-driver"}, "", usageFn("Storage driver to use")) cmd.StringVar(&config.GraphDriver, []string{"s", "-storage-driver"}, "", usageFn("Storage driver to use"))
cmd.IntVar(&config.Mtu, []string{"#mtu", "-mtu"}, 0, usageFn("Set the containers network MTU")) cmd.IntVar(&config.Mtu, []string{"#mtu", "-mtu"}, 0, usageFn("Set the containers network MTU"))

View File

@ -51,6 +51,10 @@ const (
// constants for remapped root settings // constants for remapped root settings
defaultIDSpecifier string = "default" defaultIDSpecifier string = "default"
defaultRemappedID string = "dockremap" defaultRemappedID string = "dockremap"
// constant for cgroup drivers
cgroupFsDriver = "cgroupfs"
cgroupSystemdDriver = "systemd"
) )
func getMemoryResources(config containertypes.Resources) *specs.Memory { func getMemoryResources(config containertypes.Resources) *specs.Memory {
@ -460,29 +464,30 @@ func verifyContainerResources(resources *containertypes.Resources, sysInfo *sysi
} }
func (daemon *Daemon) getCgroupDriver() string { func (daemon *Daemon) getCgroupDriver() string {
cgroupDriver := "cgroupfs" cgroupDriver := cgroupFsDriver
if daemon.usingSystemd() {
cgroupDriver = "systemd"
}
return cgroupDriver
}
func usingSystemd(config *Config) bool { // No other cgroup drivers are supported at the moment. Warn the
for _, option := range config.ExecOptions { // user if they tried to set one other than cgroupfs
for _, option := range daemon.configStore.ExecOptions {
key, val, err := parsers.ParseKeyValueOpt(option) key, val, err := parsers.ParseKeyValueOpt(option)
if err != nil || !strings.EqualFold(key, "native.cgroupdriver") { if err != nil || !strings.EqualFold(key, "native.cgroupdriver") {
continue continue
} }
if val == "systemd" { if val != cgroupFsDriver {
return true logrus.Warnf("cgroupdriver '%s' is not supported", val)
} }
} }
return cgroupDriver
}
func usingSystemd(config *Config) bool {
// No support for systemd cgroup atm
return false return false
} }
func (daemon *Daemon) usingSystemd() bool { func (daemon *Daemon) usingSystemd() bool {
return usingSystemd(daemon.configStore) return daemon.getCgroupDriver() == cgroupSystemdDriver
} }
// verifyPlatformContainerSettings performs platform-specific validation of the // verifyPlatformContainerSettings performs platform-specific validation of the

View File

@ -92,6 +92,5 @@ This uses the `dm` prefix and would be used something like `docker daemon --stor
These options are currently documented both in [the man These options are currently documented both in [the man
page](../../../man/docker.1.md) and in [the online page](../../../man/docker.1.md) and in [the online
documentation](https://docs.docker.com/reference/commandline/daemon/#docker- documentation](https://docs.docker.com/reference/commandline/daemon/#storage-driver-options).
execdriver-option). If you add an options, update both the `man` page and the If you add an options, update both the `man` page and the documentation.
documentation.

View File

@ -103,7 +103,7 @@ func (daemon *Daemon) Kill(container *container.Container) error {
// because if we can't stop the container by this point then // because if we can't stop the container by this point then
// its probably because its already stopped. Meaning, between // its probably because its already stopped. Meaning, between
// the time of the IsRunning() call above and now it stopped. // the time of the IsRunning() call above and now it stopped.
// Also, since the err return will be exec driver specific we can't // Also, since the err return will be environment specific we can't
// look for any particular (common) error that would indicate // look for any particular (common) error that would indicate
// that the process is already dead vs something else going wrong. // that the process is already dead vs something else going wrong.
// So, instead we'll give it up to 2 more seconds to complete and if // So, instead we'll give it up to 2 more seconds to complete and if

View File

@ -11,8 +11,8 @@ import (
) )
// setupMounts configures the mount points for a container by appending each // setupMounts configures the mount points for a container by appending each
// of the configured mounts on the container to the oci mount structure // of the configured mounts on the container to the OCI mount structure
// which will ultimately be passed into the exec driver during container creation. // which will ultimately be passed into the oci runtime during container creation.
// It also ensures each of the mounts are lexographically sorted. // It also ensures each of the mounts are lexographically sorted.
// BUGBUG TODO Windows containerd. This would be much better if it returned // BUGBUG TODO Windows containerd. This would be much better if it returned

View File

@ -162,7 +162,7 @@ can be located at `/var/log/upstart/docker.log`
$ tail -f /var/log/upstart/docker.log $ tail -f /var/log/upstart/docker.log
INFO[0000] Loading containers: done. INFO[0000] Loading containers: done.
INFO[0000] docker daemon: 1.6.0 4749651; execdriver: native-0.2; graphdriver: aufs INFO[0000] Docker daemon commit=1b09a95-unsupported graphdriver=aufs version=1.11.0-dev
INFO[0000] +job acceptconnections() INFO[0000] +job acceptconnections()
INFO[0000] -job acceptconnections() = OK (0) INFO[0000] -job acceptconnections() = OK (0)
INFO[0000] Daemon has completed initialization INFO[0000] Daemon has completed initialization
@ -273,7 +273,7 @@ be viewed using `journalctl -u docker`
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job init_networkdriver() = OK (0)" May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job init_networkdriver() = OK (0)"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: start." May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: start."
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: done." May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: done."
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="docker daemon: 1.5.0-dev fc0329b/1.5.0; execdriver: native-0.2; graphdriver: devicemapper" May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Docker daemon commit=1b09a95-unsupported graphdriver=aufs version=1.11.0-dev"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="+job acceptconnections()" May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="+job acceptconnections()"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job acceptconnections() = OK (0)" May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job acceptconnections() = OK (0)"

View File

@ -32,8 +32,8 @@ weight = -1
--dns-opt=[] DNS options to use --dns-opt=[] DNS options to use
--dns-search=[] DNS search domains to use --dns-search=[] DNS search domains to use
--default-ulimit=[] Set default ulimit settings for containers --default-ulimit=[] Set default ulimit settings for containers
--exec-opt=[] Set exec driver options --exec-opt=[] Set runtime execution options
--exec-root="/var/run/docker" Root of the Docker execdriver --exec-root="/var/run/docker" Root directory for execution state files
--fixed-cidr="" IPv4 subnet for fixed IPs --fixed-cidr="" IPv4 subnet for fixed IPs
--fixed-cidr-v6="" IPv6 subnet for fixed IPs --fixed-cidr-v6="" IPv6 subnet for fixed IPs
-G, --group="docker" Group for the unix socket -G, --group="docker" Group for the unix socket
@ -476,24 +476,26 @@ Currently supported options of `zfs`:
$ docker daemon -s zfs --storage-opt zfs.fsname=zroot/docker $ docker daemon -s zfs --storage-opt zfs.fsname=zroot/docker
## Docker execdriver option ## Docker runtime execution options
The Docker daemon uses a specifically built `libcontainer` execution driver as The Docker daemon relies on a
its interface to the Linux kernel `namespaces`, `cgroups`, and `SELinux`. [OCI](https://github.com/opencontainers/specs) compliant runtime
(invoked via the `containerd` daemon) as its interface to the Linux
kernel `namespaces`, `cgroups`, and `SELinux`.
## Options for the native execdriver ## Options for the runtime
You can configure the `native` (libcontainer) execdriver using options specified You can configure the runtime using options specified
with the `--exec-opt` flag. All the flag's options have the `native` prefix. A with the `--exec-opt` flag. All the flag's options have the `native` prefix. A
single `native.cgroupdriver` option is available. single `native.cgroupdriver` option is available.
The `native.cgroupdriver` option specifies the management of the container's The `native.cgroupdriver` option specifies the management of the container's
cgroups. You can specify `cgroupfs` or `systemd`. If you specify `systemd` and cgroups. You can specify only specify `cgroupfs` at the moment. If you omit the
it is not available, the system uses `cgroupfs`. If you omit the
`native.cgroupdriver` option,` cgroupfs` is used. `native.cgroupdriver` option,` cgroupfs` is used.
This example sets the `cgroupdriver` to `systemd`:
$ sudo docker daemon --exec-opt native.cgroupdriver=systemd This example explicitely sets the `cgroupdriver` to `cgroupfs`:
$ sudo docker daemon --exec-opt native.cgroupdriver=cgroupfs
Setting this option applies to all containers the daemon launches. Setting this option applies to all containers the daemon launches.

View File

@ -198,7 +198,7 @@ to the host.
This won't affect regular web apps; but malicious users will find that This won't affect regular web apps; but malicious users will find that
the arsenal at their disposal has shrunk considerably! By default Docker the arsenal at their disposal has shrunk considerably! By default Docker
drops all capabilities except [those drops all capabilities except [those
needed](https://github.com/docker/docker/blob/87de5fdd5972343a11847922e0f41d9898b5cff7/daemon/execdriver/native/template/default_template_linux.go#L16-L29), needed](https://github.com/docker/docker/blob/master/oci/defaults_linux.go#L64-L79),
a whitelist instead of a blacklist approach. You can see a full list of a whitelist instead of a blacklist approach. You can see a full list of
available capabilities in [Linux available capabilities in [Linux
manpages](http://man7.org/linux/man-pages/man7/capabilities.7.html). manpages](http://man7.org/linux/man-pages/man7/capabilities.7.html).

View File

@ -279,7 +279,7 @@ options were created in the previous steps.
INFO[0027] Option DefaultNetwork: bridge INFO[0027] Option DefaultNetwork: bridge
<output truncated> <output truncated>
INFO[0027] Daemon has completed initialization INFO[0027] Daemon has completed initialization
INFO[0027] Docker daemon commit=0a8c2e3 execdriver=native-0.2 graphdriver=devicemapper version=1.8.2 INFO[0027] Docker daemon commit=1b09a95-unsupported graphdriver=aufs version=1.11.0-dev
It is also possible to set the `--storage-driver` and `--storage-opt` flags It is also possible to set the `--storage-driver` and `--storage-opt` flags
in the Docker config file and start the daemon normally using the `service` or in the Docker config file and start the daemon normally using the `service` or

View File

@ -22,7 +22,6 @@ var (
// TODO Windows CI. These are incorrect and need fixing into // TODO Windows CI. These are incorrect and need fixing into
// platform specific pieces. // platform specific pieces.
runtimePath = "/var/run/docker" runtimePath = "/var/run/docker"
execDriverPath = runtimePath + "/execdriver/native"
workingDirectory string workingDirectory string

View File

@ -126,10 +126,10 @@ format.
DNS search domains to use. DNS search domains to use.
**--exec-opt**=[] **--exec-opt**=[]
Set exec driver options. See EXEC DRIVER OPTIONS. Set runtime execution options. See RUNTIME EXECUTION OPTIONS.
**--exec-root**="" **--exec-root**=""
Path to use as the root of the Docker exec driver. Default is `/var/run/docker`. Path to use as the root of the Docker execution state files. Default is `/var/run/docker`.
**--fixed-cidr**="" **--fixed-cidr**=""
IPv4 subnet for fixed IPs (e.g., 10.20.0.0/16); this subnet must be nested in the bridge subnet (which is defined by \-b or \-\-bip) IPv4 subnet for fixed IPs (e.g., 10.20.0.0/16); this subnet must be nested in the bridge subnet (which is defined by \-b or \-\-bip)

View File

@ -110,7 +110,6 @@ To get information on a container use its ID or instance name:
"Name": "/adoring_wozniak", "Name": "/adoring_wozniak",
"RestartCount": 0, "RestartCount": 0,
"Driver": "devicemapper", "Driver": "devicemapper",
"ExecDriver": "native-0.2",
"MountLabel": "", "MountLabel": "",
"ProcessLabel": "", "ProcessLabel": "",
"Mounts": [ "Mounts": [

View File

@ -224,15 +224,14 @@ inside it)
See **docker-wait(1)** for full documentation on the **wait** command. See **docker-wait(1)** for full documentation on the **wait** command.
# EXEC DRIVER OPTIONS # RUNTIME EXECUTION OPTIONS
Use the **--exec-opt** flags to specify options to the execution driver. Use the **--exec-opt** flags to specify options to the execution driver.
The following options are available: The following options are available:
#### native.cgroupdriver #### native.cgroupdriver
Specifies the management of the container's `cgroups`. You can specify Specifies the management of the container's `cgroups`. Only `cgroupfs` can be specified
`cgroupfs` or `systemd`. If you specify `systemd` and it is not available, the `cgroupfs` at the moment.
system uses `cgroupfs`.
#### Client #### Client
For specific client examples please see the man page for the specific Docker For specific client examples please see the man page for the specific Docker