Provided by: lxc_1.0.10-0ubuntu1.1_amd64
NAME
lxc-clone - clone a new container from an existing one.
SYNOPSIS
lxc-clone [-s ] [-K ] [-M ] [-H ] [-B backingstore] [-L fssize] [-p lxcpath] [-P newlxcpath] {-o orig} {-n new} [-- hook arguments] lxc-clone [-s ] [-K ] [-M ] [-H ] [-B backingstore] [-L fssize] [-p lxcpath] [-P newlxcpath] {orig} {new} [-- hook arguments]
DESCRIPTION
lxc-clone Creates a new container as a clone of an existing container. Two types of clones are supported: copy and snapshot. A copy clone copies the root filessytem from the original container to the new. A snapshot filesystem uses the backing store's snapshot functionality to create a very small copy-on-write snapshot of the original container. Snapshot clones require the new container backing store to support snapshotting. Currently this includes only aufs, btrfs, lvm, overlayfs and zfs. LVM devices do not support snapshots of snapshots. The backing store of the new container will be the same type as the original container, with one exception, overlay containers. aufs and overlayfs snapshots can be created of directory backed containers. This can be requested by using (for overlayfs) the -B overlayfs arguments. The names of the original and new container can be given (in that order) after all options, or can be specified with the -o and -n options, respectively.
OPTIONS
-s, --snapshot The new container's rootfs will be a snapshot of the original. This option can be specified when the backing store is LVM, btrfs or zfs, and must be specified when you want to snapshot using aufs or overlayfs. -K, --keepname Do not change the hostname of the container (in the root filesystem). -M, --keepmac Use the same MAC address as the original container, rather than generating a new random one. -H, --copyhooks Copy all mount hooks into the new container's directory, and update any lxcpaths and container names as needed. -L, --fssize fssize In the case of a block device backed container, a size for the new block device. By default, the new device will be made the same size as the original. -p, --lxcpath lxcpath The lxcpath of the original container. By default, the system wide configured lxcpath will be used. -P, --newpath newlxcpath The lxcpath for the new container. By default the same lxcpath as the original will be used. Note that with btrfs snapshots, changing lxcpaths may not be possible, as subvolume snapshots must be in the same btrfs filesystem. -B, --backingstore backingstore Select a different backing store for the new container. By default the same as the original container's is used. Note that currently changing the backingstore is only supported for aufs and overlayfs snapshots of directory backed containers. Valid backing stores include dir (directory), aufs, btrfs, lvm, zfs, loop and overlayfs. -o, --orig orig The name of the original container to clone. -n, --new new The name of the new container to create.
CLONE HOOK
If the container being cloned has one or more lxc.hook.clone specified, then the specified hooks will be called for the new container. The first 3 arguments passed to the clone hook will be the container name, a section ('lxc'), and the hook type ('clone'). Extra arguments passed lxc-clone will be passed to the hook program starting at argument 4. The LXC_ROOTFS_MOUNT environment variable gives the path under which the container's root filesystem is mounted. The configuration file pathname is stored in LXC_CONFIG_FILE, the new container name in LXC_NAME, the old container name in LXC_SRC_NAME, and the path or device on which the rootfs is located is in LXC_ROOTFS_PATH.
SEE ALSO
lxc(7), lxc-create(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc- console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc- freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)
AUTHOR
Serge Hallyn <serge.hallyn@ubuntu.com> 2017-08-01 lxc-clone(1)