From 18068f0826aeafc5643f86d915e12a84695e35a4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 21 Apr 2016 19:46:30 +0200 Subject: Merging upstream version 20160401. Signed-off-by: Daniel Baumann --- share/man/Makefile | 2 +- share/man/container-console.1.txt | 2 +- share/man/container-create-debconf.1.txt | 151 +++++++++++++++++++++++++++ share/man/container-create-debootstrap.1.txt | 10 +- share/man/container-create.1.txt | 16 ++- share/man/container-limit.1.txt | 105 +++++++++++++++++++ share/man/container-list.1.txt | 2 +- share/man/container-remove.1.txt | 2 +- share/man/container-restart.1.txt | 2 +- share/man/container-shell.1.txt | 63 +++++++++++ share/man/container-start.1.txt | 2 +- share/man/container-stop.1.txt | 2 +- share/man/container-tools.7.txt | 33 +++++- share/man/container-version.1.txt | 2 +- share/man/container.1.txt | 12 ++- 15 files changed, 384 insertions(+), 22 deletions(-) create mode 100644 share/man/container-create-debconf.1.txt create mode 100644 share/man/container-limit.1.txt create mode 100644 share/man/container-shell.1.txt (limited to 'share/man') diff --git a/share/man/Makefile b/share/man/Makefile index 721c044..decf333 100644 --- a/share/man/Makefile +++ b/share/man/Makefile @@ -1,6 +1,6 @@ # Makefile -# Open Infrastructure: container-tools +# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2016 Daniel Baumann # # This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-console.1.txt b/share/man/container-console.1.txt index 2ce5353..abccf63 100644 --- a/share/man/container-console.1.txt +++ b/share/man/container-console.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-create-debconf.1.txt b/share/man/container-create-debconf.1.txt new file mode 100644 index 0000000..f882714 --- /dev/null +++ b/share/man/container-create-debconf.1.txt @@ -0,0 +1,151 @@ +// container-tools - Manage systemd-nspawn containers +// Copyright (C) 2014-2016 Daniel Baumann +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +CONTAINER-CREATE-DEBOOTSTRAP(1) +=============================== +:doctype: manpage +:man manual: Open Infrastructure +:man source: container-tools +:man version: {revnumber} + + +NAME +---- +container-create-debconf - Create an advanced Debian based container with debconf + + +SYNOPSIS +-------- +*container create -s debconf* ['OPTIONS'] +*container create -s debian* ['OPTIONS'] +*container create -s progress-linux* ['OPTIONS'] + + +DESCRIPTION +----------- +The debconf container creation script uses debconf(1) to automatically create a Debian based container. + +SCOPE +~~~~~ +Note that this container creation script can do a few things more than just automatically debootstrap based on a preseed file. +It also allows you to set a root password, configure the network, install certain packages and execute hooks. + +But: this is *not* a replacement for a configuration management system (like ansible, puppet, etc.). +The intenion of this script is to create the initial container to that extend that a configuration managment system +can take over. + +As an analogy, think of debian-installer: d-i sets up your system to make it ready to boot and connect to the network. Everything +after that is out of scope. Same goes for this script. (FIXME) + +FUNCTIONS +~~~~~~~~~ + +This script performs the following configuration on top of a Debian based system: + + * network + * root password + * apt repositories + * ... + +MODES +~~~~~ +This container creation script can be used under two different names: debian and progress-linux. + +Alternative, calling it under the debconf name is equal to the debian mode. + +INTERACTIVE/NONINTERACTIVE +~~~~~~~~~~~~~~~~~~~~~~~~~~ +FIXME + +PRESEEDING +~~~~~~~~~~ + +Hierarchy of Preseed Files + +The debconf script can be fully preseeded. Such preseed files +can include one or more preseed files themselfs (currently, only one layer of +includes is supported, no nested or recursive includes). + +The general rule of 'the later preseed file overwrites the earlier' applies. +The debconf script reads the main preseed file (specified either on command line or +by debconf selection/input dialog) after any included preseed files in there. + +That means that debconf values after the include statement in the main preseed +file can overwrite any values specified in the included preseed files. + + +OPTIONS +------- +The following script options are available: + +*-n, --name='NAME'*:: + Specify container name. + +*-p, --preseed-file='FILE'*:: + Specify the preseed file. + + +EXAMPLES +-------- +*Create a Debian based container:*:: + sudo container create -s debian -n jessie.example.net + +*Create a Progress Linux container:*:: + sudo container create -s progress-linux -n cairon-backports.example.net + + +FILES +----- +The following files are used: + +*/etc/container-tools/config*:: + Container configuration files. + +*/usr/share/container-tools/scripts*:: + Container creation scripts. + +*/usr/share/doc/container-tools*:: + Container documentation. + +*/var/lib/machines*:: + Container directory. + +*/var/cache/container-tools*:: + Container cache directory. + +*/tmp/container-tools*:: + Container temporary directory. + + +SEE ALSO +-------- +container-tools(7), +container(1). + + +HOMEPAGE +-------- +More information about container-tools and the Open Infrastructure project can be found on the homepage at http://open-infrastructure.net. + + +BUGS +---- +Bugs can be reported by opening an issue in the GitHub repository at http://github.com/open-infrastructure/container-tools. + + +AUTHORS +------- +container-tools was written by Daniel Baumann . diff --git a/share/man/container-create-debootstrap.1.txt b/share/man/container-create-debootstrap.1.txt index 1c76711..360d7b6 100644 --- a/share/man/container-create-debootstrap.1.txt +++ b/share/man/container-create-debootstrap.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify @@ -24,7 +24,7 @@ CONTAINER-CREATE-DEBOOTSTRAP(1) NAME ---- -container-create-debootstrap - Create a Debian container with debootstrap +container-create-debootstrap - Create a basic Debian based container with debootstrap SYNOPSIS @@ -34,7 +34,7 @@ SYNOPSIS DESCRIPTION ----------- -The debootstrap container creation script uses debootstrap(8) to create a Debian container. +The debootstrap container creation script uses debootstrap(8) to create a Debian based container. This script creates a pure Debian system with three modificiations: @@ -65,10 +65,10 @@ The following script options are available: EXAMPLES -------- -*Create a Debian 8 (jessie) container with same architecture as the host system:*:: +*Create a Debian 8 (jessie) based container with same architecture as the host system:*:: sudo container create -s debootstrap -n jessie.example.net -*Create a Debian 8 (jessie) with different architecture as the host system:*:: +*Create a Debian 8 (jessie) based container with different architecture as the host system:*:: sudo container create -s debootstrap -n jessie-i386.example.net -- -a i386 diff --git a/share/man/container-create.1.txt b/share/man/container-create.1.txt index 8d9bd06..6646ad1 100644 --- a/share/man/container-create.1.txt +++ b/share/man/container-create.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify @@ -44,6 +44,12 @@ The following container-create options are available: *-n, --name='NAME'*:: Specify container name. +*-c, --capability='CAPABILITY'*:: + Specify capabilities to grant, see capabilities(7). + +*-d, --drop-capability='DROP_CAPABILITY'*:: + Specify capabilities to drop, see capabilities(7). + *-s, --script='SCRIPT'*:: Specify container creation script, defaults to debootstrap. @@ -56,7 +62,10 @@ SCRIPTS The following container scripts are available: *debootstrap*:: - Basic script to create Debian container, see container-create-debootstrap(1). + Basic script to create Debian based container, see container-create-debootstrap(1). + +*debconf*:: + Advanced script to automatically create Debian based container, see container-create-debconf(1). EXAMPLES @@ -64,6 +73,9 @@ EXAMPLES *Create example.net container using debootstrap script:*:: sudo container create -n example.net -s debootstrap +*Create example.net container using debconf script:*:: + sudo container create -n example.net -s debconf + SEE ALSO -------- diff --git a/share/man/container-limit.1.txt b/share/man/container-limit.1.txt new file mode 100644 index 0000000..995374e --- /dev/null +++ b/share/man/container-limit.1.txt @@ -0,0 +1,105 @@ +// container-tools - Manage systemd-nspawn containers +// Copyright (C) 2014-2016 Daniel Baumann +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +CONTAINER-STOP(1) +================= +:doctype: manpage +:man manual: Open Infrastructure +:man source: container-tools +:man version: {revnumber} + + +NAME +---- +container-stop - Limit ressources of a container + + +SYNOPSIS +-------- +*container limit* ['OPTIONS'] + + +DESCRIPTION +----------- +The container limit command limits ressources available to a container at runtime. + + +OPTIONS +------- +The following container options are available: + +*-n, --name='NAME'*:: + Specify container name. + +*--blockio-device-weight='DEVICE WEIGHT'*:: + Specify device specific blockio weight, see systemd.resource-control(5). + +*--blockio-read-bandwith='DEVICE BYTES'*:: + Specify device specific blockio read bandwith, see systemd.resource-control(5). + +*-b, --blockio-weight='WEIGHT'*:: + Specify general blockio weight, see systemd.resource-control(5). + +*--blockio-write-bandwith='DEVICE BYTES'*:: + Specify device specific blockio write bandwith, see systemd.resource-control(5). + +*-c, --cpu-quota='QUOTA'*:: + Specify CPU quota, see systemd.resource-control(5). + +*--cpu-shares='SHARES'*:: + Specify CPU shares, see systemd.resource-control(5). + +*-m, --memory-limit='BYTES'*:: + Specify memory limit, see systemd.resource-control(5). + +*-t, --tasks-max='NUMBER'*:: + Specify tasks max, see systemd.resource-control(5). + + +EXAMPLES +-------- +*Set blockio weight for the example.net container:*:: + sudo container limit -n example.net --blockio-weight 100 + +*Set CPU quota for the example.net container:*:: + sudo container limit -n example.net --cpu-quota 10% + +*Set memory limit for the example.net container to 1GB:*:: + sudo container limit -n example.net --memory-limit 1G + +*Set tasks max for the example.net container to 100:*:: + sudo container limit -n example.net --tasks-max 100 + + +SEE ALSO +-------- +container-tools(7), +container(1). + + +HOMEPAGE +-------- +More information about container-tools and the Open Infrastructure project can be found on the homepage at http://open-infrastructure.net. + + +BUGS +---- +Bugs can be reported by opening an issue in the GitHub repository at http://github.com/open-infrastructure/container-tools. + + +AUTHORS +------- +container-tools was written by Daniel Baumann . diff --git a/share/man/container-list.1.txt b/share/man/container-list.1.txt index 58493a2..4dcbd78 100644 --- a/share/man/container-list.1.txt +++ b/share/man/container-list.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-remove.1.txt b/share/man/container-remove.1.txt index b04560f..e5e38bd 100644 --- a/share/man/container-remove.1.txt +++ b/share/man/container-remove.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-restart.1.txt b/share/man/container-restart.1.txt index a388c81..992bc5b 100644 --- a/share/man/container-restart.1.txt +++ b/share/man/container-restart.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-shell.1.txt b/share/man/container-shell.1.txt new file mode 100644 index 0000000..946f77e --- /dev/null +++ b/share/man/container-shell.1.txt @@ -0,0 +1,63 @@ +// container-tools - Manage systemd-nspawn containers +// Copyright (C) 2014-2016 Daniel Baumann +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +CONTAINER(1) +============ +:doctype: manpage +:man manual: Open Infrastructure +:man source: container-tools +:man version: {revnumber} + + +NAME +---- +container-shell - Manage systemd-nspawn containers (shell) + + +SYNOPSIS +-------- +*container-shell* + + +DESCRIPTION +----------- +container-tools provides the system integration for managing containers using systemd-nspawn. + + +COMMANDS +-------- +All container commands are available, see container(1). + + +SEE ALSO +-------- +machinectl(1), +systemd-nspawn(1). + + +HOMEPAGE +-------- +More information about container-tools and the Open Infrastructure project can be found on the homepage at http://open-infrastructure.net. + + +BUGS +---- +Bugs can be reported by opening an issue in the GitHub repository at http://github.com/open-infrastructure/container-tools. + + +AUTHORS +------- +container-tools was written by Daniel Baumann . diff --git a/share/man/container-start.1.txt b/share/man/container-start.1.txt index 4bd9039..e74f780 100644 --- a/share/man/container-start.1.txt +++ b/share/man/container-start.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-stop.1.txt b/share/man/container-stop.1.txt index 517a1cf..8f368cf 100644 --- a/share/man/container-stop.1.txt +++ b/share/man/container-stop.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container-tools.7.txt b/share/man/container-tools.7.txt index e94afcc..dc35030 100644 --- a/share/man/container-tools.7.txt +++ b/share/man/container-tools.7.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify @@ -24,15 +24,15 @@ CONTAINER-TOOLS(7) NAME ---- -container-tools - Manage systemd-nspawn Containers +container-tools - Manage systemd-nspawn containers DESCRIPTION ----------- -"[A Linux Container] is an operating-system-level virtualization environment for running multiple isolated Linux systems (containers) on a single Linux control host.":: +"[A Linux container] is an operating-system-level virtualization environment for running multiple isolated Linux systems (containers) on a single Linux control host.":: -- Wikipedia (https://en.wikipedia.org/wiki/LXC) -container-tools provides the integration for Debian based Containers using systemd-nspawn. +container-tools provides the system integration for managing containers using systemd-nspawn. DOWNLOAD @@ -41,6 +41,28 @@ DOWNLOAD * https://github.com/open-infrastructure/container-tools +INSTALLATION +------------ + +SOURCE +~~~~~~ + + 1. sudo apt instal asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc + 2. git clone https://github.com/open-infrastructure/container-tools + 3. cd container-tools && sudo make install + +DEBIAN 8 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + * sudo apt install open-infrastructure-container-tools + + +DEVELOPMENT +----------- + +Bug reports, feature requests, and patches are welcome. Please base them against the 'next' Git branch. + + USAGE ----- @@ -62,6 +84,9 @@ USAGE *Attach console to a container:*:: sudo container console -n NAME +*limit*:: + sudo container limit -n NAME --cpu-quota 10% + *List container on the system:*:: sudo container list diff --git a/share/man/container-version.1.txt b/share/man/container-version.1.txt index 5fd4147..4fede67 100644 --- a/share/man/container-version.1.txt +++ b/share/man/container-version.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify diff --git a/share/man/container.1.txt b/share/man/container.1.txt index 54e3145..93cf309 100644 --- a/share/man/container.1.txt +++ b/share/man/container.1.txt @@ -1,4 +1,4 @@ -// Open Infrastructure: container-tools +// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2016 Daniel Baumann // // This program is free software: you can redistribute it and/or modify @@ -24,7 +24,7 @@ CONTAINER(1) NAME ---- -container - Manage systemd-nspawn Containers +container - Manage systemd-nspawn containers SYNOPSIS @@ -34,7 +34,7 @@ SYNOPSIS DESCRIPTION ----------- -container-tools provides the integration for Debian based Containers using systemd-nspawn. +container-tools provides the system integration for managing containers using systemd-nspawn. OPTIONS @@ -67,6 +67,9 @@ The following container commands are available: *console*:: Attach console to a container, see container-console(1). +*limit*:: + Limit ressources of a container, see container-limit(1). + *list*:: List container on the system, see container-list(1). @@ -81,6 +84,9 @@ The following files are used: */usr/bin/container*, */usr/bin/cnt*:: Container program. +*/usr/bin/container-shell*, */usr/bin/cntsh*:: + Container shell program. + */usr/lib/container-tools*:: Container commands. -- cgit v1.2.3