Menu="OtherSettings" Title="Docker" Icon="icon-docker" Tag="icon-docker" --- $value) if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol[$network] = $$eth[str_replace('VLANID','PROTOCOL',$key)] ?? 'ipv4'; break;} } if ($ip4 && $route4) { $include[$network] = $route4; $address[$network] = $ip4; $gateway[$network] = $gw4; } elseif (!array_key_exists($network,$gateway6)) { $unset[] = $network; } if ($ip6 && $route6) { $include6[$network] = $route6; $address6[$network] = $ip6; $gateway6[$network] = $gw6; } elseif (!array_key_exists($network,$gateway)) { $unset[] = $network; } if ($protocol[$network] != 'ipv4') $wide = true; } $ip4class = $wide ? 'ip6' : 'ip4'; $gw4class = $wide ? 'gw6' : 'gw4'; $unset = array_unique($unset); function normalize($network) { return strtoupper(str_replace('.','_',$network)); } function base_min($route) { [$net,$mask] = explode('/',$route); $mask = 32-$mask; return explode('.',long2ip((ip2long($net)>>$mask)<<$mask)); } function base_max($route) { [$net,$mask] = explode('/',$route); $mask = 32-$mask; return explode('.',long2ip(((ip2long($net)>>$mask)<<$mask)+pow(2,$mask)-1)); } function base_net($route) { return substr(explode('/',$route)[0],0,-2); } $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; ?>
_(Enable Docker)_: : _(One or more paths do not exist)_ (_(view)_) :docker_enable_help: _(Docker Stop Timeout)_: : :docker_timeout_help: _(Docker data-root)_: : :docker_vdisk_type_help: _(Default appdata storage location)_: : _(Modify with caution: unable to validate path until Array is Started)_ _(Path does not exist)_ :docker_appdata_location_help:
_(Docker LOG rotation)_: : :docker_log_rotation_help: _(Template Authoring Mode)_: : :docker_authoring_mode_help: _(Host access to custom networks)_: : :docker_custom_network_access_help: _(Preserve user defined networks)_: : :docker_user_defined_network_help: $route):?> _(IPv4 custom network on interface)_ (_(optional)_): : > **_(Subnet)_:** **_(Gateway)_:** > **_(DHCP pool)_:**. "; for ($n=$net[$b]; $n<=$max[$b]; $n++) echo mk_option($net_user[$b],$n,$n,$n%$step==0?'':'class="hide"'); echo ""; } echo "/ "; echo "($size "._('hosts').")"; echo ""; ?> :docker_include_interface_vlan_ipv4_help: _(IPv4 custom network on interface)_ (_(optional)_): : > **_(Subnet)_:** >/ **_(Gateway)_:** " title="_(IPv4 address A.B.C.D)_"> > **_(DHCP pool)_:** >/ ( _(hosts)_) :docker_exclude_interface_vlan_ipv4_help:
$route):?> _(IPv6 custom network on interface)_ (_(optional)_): : > **_(Subnet)_:** **_(Gateway)_:** > **_(DHCP pool)_:**: / "; echo ""; ?> :docker_include_interface_vlan_ipv6_help: _(IPv6 custom network on interface)_ (_(optional)_): : > **_(Subnet)_:**>/ **_(Gateway)_:**" title="_(IPv6 address nnnn:xxxx::yyyy)_"> > **_(DHCP pool)_:**>/ :docker_exclude_interface_vlan_ipv6_help:
_(Docker version)_: : getInfo(); echo $arrInfo['Version']?> :docker_version_help: _(Docker vDisk location)_: : _(Docker directory)_: : :docker_vdisk_location_active_help: _(Default appdata storage location)_: : :docker_appdata_location_active_help:
_(Docker LOG rotation)_: : :docker_log_rotation_active_help: _(Host access to custom networks)_: : :docker_custom_network_active_help: _(Preserve user defined networks)_: : :docker_user_defined_network_active_help: $route):?> _(IPv4 custom network on interface)_ : : **_(Subnet)_:** **_(Gateway)_:** **_(DHCP pool)_:**   ( _(hosts)_) $value) { if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = $$eth[str_replace('VLANID','PROTOCOL',$key)] ?? 'ipv4'; break;} } } [$subnet,$mask] = explode('/',$dockercfg["DOCKER_SUBNET_$port"]); [$range,$size] = explode('/',$dockercfg["DOCKER_RANGE_$port"]); ?> _(IPv4 custom network on interface)_ : : **_(Subnet)_:** / **_(Gateway)_:** **_(DHCP pool)_:**   ( _(hosts)_) $route):?> _(IPv6 custom network on interface)_ : : **_(Subnet)_:** **_(Gateway)_:** **_(DHCP pool)_:** $value) { if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = $$eth[str_replace('VLANID','PROTOCOL',$key)] ?? 'ipv4'; break;} } } [$subnet6,$mask6] = explode('/',$dockercfg["DOCKER_SUBNET6_$port"]); [$range6,$size6] = explode('/',$dockercfg["DOCKER_RANGE6_$port"]); ?> _(IPv6 custom network on interface)_ : : **_(Subnet)_:** / **_(Gateway)_:** **_(DHCP pool)_:**
  :
_(Docker volume info)_
_(btrfs filesystem show)_: : ".shell_exec("btrfs filesystem show /var/lib/docker").""?>
_(btrfs scrub status)_: : ".implode("\n", $scrub_status).""?>   : :docker_scrub_help:   : :docker_cancel_help: