// Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net>
//
// SPDX-License-Identifier: GPL-3.0+
//
// 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 <http://www.gnu.org/licenses/>.

CONTAINER-CREATE(1)
===================
:doctype: manpage
:man manual: Open Infrastructure
:man source: compute-tools
:man version: {revnumber}


NAME
----
container-create - Create a container


SYNOPSIS
--------
*container create* ['OPTIONS']
*cnt cr* ['OPTIONS']


DESCRIPTION
-----------
The container-create command creates a container based on a script.


OPTIONS
-------
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.

*-v, --verbose*::
	Explain what is being done.

*-b, --bind='DIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]'*::
	Specify container read-write bind mounts, see systemd-nspawn(1) --bind option.

*--bind-ro='DIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]'*::
	Specify container read-only bind mounts, see systemd-nspawn(1) --bind-ro option.

*--cnt-overlay='DIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED[;DIRECTORY_UPPER:DIRECTORY_LOWER:DIRECTORY_WORK:DIRECTORY_MERGED]'*::
	Specify container overlay mounts, see Documentation/filesystems/overlayfs.txt.

*--cnt.overlay-options='OPTION1,OPTION2[;OPTION3,OPTION4]'*::
	Specify container overlay mount options, see Documentation/filesystems/overlayfs.txt.


SCRIPTS
-------
The following container scripts are available:

*curl*::
	Basic script to create Debian based container, see container-create-curl(1).

*debootstrap*::
	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).

*default*::
	Symlink (if existing) to a container script which is used if no script was specified. On Debian based system this can be managed through update-alternatives(1), i.e. 'sudo update-alternatives --config container_script'.


EXAMPLES
--------
*Create example.net container using curl script:*::
	sudo container create -n example.net -s curl

*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

*Create example.net container with the default create script and start it:*::
	sudo container create,start -n example.net

SEE ALSO
--------
compute-tools(7),
container(1).


HOMEPAGE
--------
More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net.


CONTACT
-------
Bug reports, feature requests, help, patches, support and everything else
are welcome on the Open Infrastructure Software Mailing List <software@lists.open-infrastructure.net>.

Debian specific bugs can also be reported in the Debian Bug Tracking System at https://bugs.debian.org.


AUTHORS
-------
compute-tools were written by Daniel Baumann <daniel.baumann@open-infrastructure.net> and others.
