docker module: updates
- logDriver option, use journald for logging by default - keep storage driver intact by default, as docker has sane defaults - do not choose storage driver in tests, docker will choose by itself - use dockerd binary as "docker daemon" command is deprecated and will be removed - add overlay2 to list of storage drivers
This commit is contained in:
parent
0a518618a2
commit
5d9c62541a
@ -40,13 +40,25 @@ in
|
|||||||
};
|
};
|
||||||
storageDriver =
|
storageDriver =
|
||||||
mkOption {
|
mkOption {
|
||||||
type = types.enum ["aufs" "btrfs" "devicemapper" "overlay" "zfs"];
|
type = types.nullOr (types.enum ["aufs" "btrfs" "devicemapper" "overlay" "overlay2" "zfs"]);
|
||||||
default = "devicemapper";
|
default = null;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
This option determines which Docker storage driver to use.
|
This option determines which Docker storage driver to use. By default
|
||||||
|
it let's docker automatically choose preferred storage driver.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
logDriver =
|
||||||
|
mkOption {
|
||||||
|
type = types.enum ["none" "json-file" "syslog" "journald" "gelf" "fluentd" "awslogs" "splunk" "etwlogs" "gcplogs"];
|
||||||
|
default = "journald";
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
This option determines which Docker log driver to use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraOptions =
|
extraOptions =
|
||||||
mkOption {
|
mkOption {
|
||||||
type = types.separatedString " ";
|
type = types.separatedString " ";
|
||||||
@ -88,7 +100,12 @@ in
|
|||||||
after = [ "network.target" ] ++ (optional cfg.socketActivation "docker.socket") ;
|
after = [ "network.target" ] ++ (optional cfg.socketActivation "docker.socket") ;
|
||||||
requires = optional cfg.socketActivation "docker.socket";
|
requires = optional cfg.socketActivation "docker.socket";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.docker}/bin/docker daemon --group=docker --storage-driver=${cfg.storageDriver} ${optionalString cfg.socketActivation "--host=fd://"} ${cfg.extraOptions}";
|
ExecStart = ''${pkgs.docker}/bin/dockerd \
|
||||||
|
--group=docker --log-driver=${cfg.logDriver} \
|
||||||
|
${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \
|
||||||
|
${optionalString cfg.socketActivation "--host=fd://"} \
|
||||||
|
${cfg.extraOptions}
|
||||||
|
'';
|
||||||
# I'm not sure if that limits aren't too high, but it's what
|
# I'm not sure if that limits aren't too high, but it's what
|
||||||
# goes in config bundled with docker itself
|
# goes in config bundled with docker itself
|
||||||
LimitNOFILE = 1048576;
|
LimitNOFILE = 1048576;
|
||||||
|
@ -11,9 +11,6 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
# FIXME: The default "devicemapper" storageDriver fails in NixOS VM
|
|
||||||
# tests.
|
|
||||||
virtualisation.docker.storageDriver = "overlay";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user