diff --git a/lxc_tips.md b/lxc_tips.md deleted file mode 100644 index 7b9ab75..0000000 --- a/lxc_tips.md +++ /dev/null @@ -1,68 +0,0 @@ -# LXC tips - -## Create a container - -* `$ lxc launch [distribution] [name]` - * **example:** `$ lxc launch images:debian/10 test-container` - -## List available distribution images - -* `$ lxc image list images:` - -## List existing containers - -* `$ lxc list` - -``` -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| alpine | STOPPED | | | PERSISTENT | 1 | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| debian | STOPPED | | | PERSISTENT | 0 | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| ubuntu | STOPPED | | | PERSISTENT | 3 | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| minimal | RUNNING | 10.10.10.10 (eth0) | fd80::0000 (eth0) | PERSISTENT | 0 | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -| test-container | STOPPED | | | PERSISTENT | 0 | -+----------------+---------+----------------------+---------------------------+------------+-----------+ -``` - -## Change state - -* Start a container: `$ lxc start [container]` -* Stop a container: `$ lxc stop [container]` - -## Access a container - -* `$ lxc exec [repository] [command]` - * **example:** `$ lxc exec test-container bash` - -## Snapshots - -* Create a snapshot: `$ lxc snapshot [container] [snapshot_name]` - * **example:** `$ lxc snapshot test-container base_state` -* Restore a snapshot: `$ lxc restore [container] [snapshot_name]` - * **example:** `$ lxc restore test-container base_state` - -## Copy files - -* To a container: `$ lxc file push [/local/files/to/copy] [container]/[destination/path]` - * **example:** `$ lxc file push -r /home/user/files test-container/root` (add `-r` to copy a folder) -* From a container: `$ lxc file pull [container][/files/to/copy] [destination/path]` - * **example:** `$ lxc file pull test-container/root/files .` - -## Privileged containers - -This feature is only available when LXD is installed. - -* When creating a container: `$ lxc launch [distribution] [name] -c security.privileged=true` - * Please note that this parameter apparently cannot be changed later. - -When a container is privileged, we can share folders from the host to the container, in a **read-write** manner. We can still add a shared folder with unprivileged containers, but they will be **read-only** (chowned at nobody:nobody). - -Note that you will need to change the group and user of the folder to the corresponding one of lxd (use `id lxd` to know it) before adding it. - -* Adding a shared folder: `$ lxc config device add [container] [share_name] disk source=[/host/path/] path=[/container/path]` - * **example:** `$ lxc config device add test-container home_dir disk source=/home/$USER path=/home/ubuntu` \ No newline at end of file