CentOS 8.x install lxc

From Notes_Wiki

Home > CentOS > CentOS 8.x > Virtualization > lxc > Install

Package installation and creation of test container

To install lxc on CentOS 8.x use:

  1. Install required packages:
    sudo dnf install lxc lxc-templates lxc-doc libcgroup-pam libcgroup-tools libcgroup
  2. Test by running
    lxc-checkconfig
  3. Enable lxc service
    systemctl start lxc
    systemctl enable lxc
    systemctl status lxc
  4. Then create network bridge if not created already by referring CentOS 8.x Creating bridge interfaces (br0) for virtual hosts to use shared interface or CentOS 7.x Managing virtual networks using libvirt virsh command
  5. Edit '/etc/lxc/default.conf' and update value of 'lxc.network.link' in this file appropriately.
  6. Store container files in a different partition then / or /var using CentOS 7.x installing lxc#Get_more_space_for_lxc_containers
    lxc-ls --active
    mkdir /mnt/data1/large_files/lxc-files
    mkdir /mnt/data1/large_files/lxc-files/{var_cache_lxc,var_lib_lxc}
    mv /var/cache/lxc/* /mnt/data1/large_files/lxc-files/var_cache_lxc/ #Ignore no-such files error, if printed
    rmdir /var/cache/lxc
    ln -s /mnt/data1/large_files/lxc-files/var_cache_lxc/ /var/cache/lxc
    mv /var/lib/lxc/* /mnt/data1/large_files/lxc-files/var_lib_lxc/ #Ignore no such fies error, if printed
    rmdir /var/lib/lxc
    ln -s /mnt/data1/large_files/lxc-files/var_lib_lxc/ /var/lib/lxc
    lxc-ls
  7. Download lxc-template for centos 8
    lxc-create -t download -n lxc1
    centos ##Enter as input for Distribution
    8 ##Enter as input for Release
    amd64 ##Enter as input for architecture
    You can see help of download template using 'lxc-create -t download -h'. Based on the help output download template supports options -d for Distribution, -r for Revision and -a for Architecture. Thus, we can also create centos-8-amd64 container using:
    lxc-create -n test1 -t download -- -d centos -r 8 -a amd64
    This can actually be faster as image index does not needs to be downloaded and printed
  8. Run the container and see that it is working as expected
    ##Validate container is not running
    lxc-ls -f
    ##Set container root password
    chroot /var/lib/lxc/lxc1/rootfs/
    passwd
    exit
    #Start container and install openssh to connect remotely
    lxc-start -n lxc1 -d
    lxc-ls -f
    lxc-console -n lxc1 -t 0
    ## Login with root user and password set in previous steps
    yum -y install openssh-server
    systemctl start sshd
    systemctl enable sshd
    systemctl status sshd
    #Exit lxc-console with "Ctrl-a q" shortcut
  9. Get container IP address using 'lxc-ls -f'
  10. ssh to container as root and test


Refer:


Home > CentOS > CentOS 8.x > Virtualization > lxc > Install