mirror of https://github.com/docker/docs.git
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:
parent
be8459c248
commit
8af4f89cba
|
@ -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'
|
||||||
|
|
|
@ -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" \
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)"
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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": [
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue