Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
howtos:misc:lxc [2018/09/15 20:53 (UTC)] montagdude [Creating a Container] Clarify that lxcpath is a variable |
howtos:misc:lxc [2018/10/19 22:00 (UTC)] mralk3 |
| |
<note tip> | <note tip> |
The minimal Slackware installation set up by lxc-create does not have a lot of choice in editors, but //vi// (symlink to //elvis//) is available. If that's not your cup of tea, you can always edit the container's config files from the host using whichever editor you prefer. The container's entire filesystem is at lxcpath/container_name/rootfs. | The minimal Slackware installation set up by lxc-create does not have a lot of choice in editors, but //vi// (symlink to //elvis//) is available. If that's not your cup of tea, you can always edit the container's config files from the host using whichever editor you prefer. The container's entire filesystem is at $lxcpath/container_name/rootfs. |
</note> | </note> |
| |
slackpkg install slackware64 | slackpkg install slackware64 |
</code> | </code> |
| |
| ==== Custom Container Boot Process ==== |
| |
| In order to customize the boot process you can add or modify the init scripts listed in **/usr/share/lxc/scripts/slackware**. Any changes you make to the existing scripts will be copied to **/etc/rc.d/** in each freshly created LXC container. This will allow you to easily customize the boot process if you create many LXC containers. A good example is if you add a custom rc.inet1.conf. It can become a bit tedious if you wish to create several LXC containers that all use DHCP network addressing. The solution is to create your own rc.inet1.conf, set **USE_DHCP[0]="yes"**, named it **rc.inet1.conf.lxc**, and save it in **/usr/share/lxc/scripts/slackware**. Your custom rc.inet1.conf will be copied to each new container. |
| |
==== Sharing Directories with the Host ==== | ==== Sharing Directories with the Host ==== |
| |
Because an LXC container's filesystem is just a directory on the host, if you only need to transfer files from the host to the container, you can simply copy them over. However, often you will want to share the files both ways, or rather, be able to access //the same files// within the container without having to actually transfer anything, and this is a little more difficult because the container is isolated. LXC provides utilities to mount host directories on containers for this purpose. We will assume that the directory to be shared is at /home/username/foo on the host. To share a user directory with the host, first log into the container and create the top-level of the directory to be shared. Then log out and stop the container. Add the following lines to the container's config file (lxcpath/container_name/config): | Because an LXC container's filesystem is just a directory on the host, if you only need to transfer files from the host to the container, you can simply copy them over. However, often you will want to share the files both ways, or rather, be able to access //the same files// within the container without having to actually transfer anything, and this is a little more difficult due to the isolation of the container. LXC provides utilities to mount host directories on containers for this purpose. We will assume that the directory to be shared is at /home/username/foo on the host. To share a user directory with the host, first log into the container and create the top-level of the directory to be shared. Then log out and stop the container. Add the following lines to the container's config file ($lxcpath/container_name/config): |
| |
<code> | <code> |