170 lines
2.5 KiB
ReStructuredText
170 lines
2.5 KiB
ReStructuredText
*********
|
|
Container
|
|
*********
|
|
|
|
TODO
|
|
====
|
|
|
|
* look for creation through debootstrap
|
|
|
|
Create
|
|
======
|
|
|
|
.. code:: shell
|
|
|
|
lxc-create \
|
|
--name="container_name" \
|
|
--template="debian" \
|
|
-- \
|
|
--release="stretch" \
|
|
--mirror="file:/mirrors/debian/debian-stretch" \
|
|
--security-mirror="file:/mirrors/debian/debian-stretch-security" \
|
|
|
|
Configure
|
|
=========
|
|
|
|
In containers/directory/container_name :
|
|
|
|
* config
|
|
|
|
.. code:: ini
|
|
|
|
lxc.include = /usr/share/lxc/config/debian.common.conf
|
|
|
|
lxc.arch = amd64
|
|
lxc.autodev = 1
|
|
lxc.kmsg = 0
|
|
lxc.mount = /var/lib/lxc/container_name/fstab
|
|
lxc.rootfs = /var/lib/lxc/container_name/rootfs
|
|
lxc.rootfs.backend = dir
|
|
lxc.start.auto = 1
|
|
lxc.utsname = hostname
|
|
|
|
lxc.network.type = veth
|
|
|
|
lxc.network.flags = up
|
|
lxc.network.link = br0
|
|
lxc.network.name = eth0
|
|
lxc.network.veth.pair = container_name
|
|
lxc.network.hwaddr = virtual_mac_address
|
|
|
|
Static addresses variant:
|
|
|
|
.. code:: ini
|
|
|
|
lxc.network.ipv4 = container_ip4/network_mask_bits
|
|
lxc.network.ipv6 = container_ip6
|
|
|
|
* fstab
|
|
|
|
.. warning::
|
|
|
|
| Do not forget to create the data directories
|
|
| otherwise the container start process will fail!
|
|
|
|
::
|
|
|
|
data/directory/container_name data none bind,create=dir
|
|
/mirrors mirrors none bind,create=dir
|
|
|
|
* rootfs/
|
|
|
|
* TODO Debian configuration
|
|
|
|
* rootfs/etc/network/interfaces.d/eth0
|
|
|
|
if the container uses DHCP:
|
|
|
|
::
|
|
|
|
auto eth0
|
|
iface eth0 inet dhcp
|
|
|
|
Start
|
|
=====
|
|
|
|
.. warning::
|
|
|
|
| Be patient, for it can take a container
|
|
| up to 1 minute to get its network stack up!
|
|
|
|
.. code:: shell
|
|
|
|
lxc-start -n "container_name"
|
|
|
|
.. code:: shell
|
|
|
|
lxc-start --name="container_name"
|
|
|
|
Run command
|
|
===========
|
|
|
|
.. code:: shell
|
|
|
|
lxc-attach -n "container_name" -- command
|
|
|
|
.. code:: shell
|
|
|
|
lxc-attach --name="container_name" -- command
|
|
|
|
Stop
|
|
====
|
|
|
|
.. code:: shell
|
|
|
|
lxc-stop -n "container_name"
|
|
|
|
.. code:: shell
|
|
|
|
lxc-stop --name="container_name"
|
|
|
|
Backup
|
|
======
|
|
|
|
system
|
|
------
|
|
|
|
.. code:: shell
|
|
|
|
cd containers/directory
|
|
tar --numeric-owner -cvaf container_name.backup_name.txz container_name
|
|
|
|
data
|
|
----
|
|
|
|
.. code:: shell
|
|
|
|
cd data/directory
|
|
tar --numeric-owner -cvaf container_name.backup_name.txz container_name
|
|
|
|
Destroy
|
|
=======
|
|
|
|
.. code:: shell
|
|
|
|
lxc-destroy -n "container_name"
|
|
|
|
.. code:: shell
|
|
|
|
lxc-destroy --name="container_name"
|
|
|
|
Restore
|
|
=======
|
|
|
|
system
|
|
------
|
|
|
|
.. code:: shell
|
|
|
|
cd containers/directory
|
|
rm --recursive container_name
|
|
tar --numeric-owner -xvf container_name.backup_name.txz
|
|
|
|
data
|
|
----
|
|
|
|
.. code:: shell
|
|
|
|
cd data/directory
|
|
rm --recursive container_name
|
|
tar --numeric-owner -xvf container_name.backup_name.txz
|