Welcome to the Linux Foundation Forum!
Lab 16.1 LXC on CentOS 7 - container will not start

I've successfully progressed to point 8 in Lab 16.1 - 'Start the container' (there were a few errors with the instructions that I've noted below in 'Additional Steps') but have ran into an error when trying to start the container.
At this point when I execute lxc-start -n bucket
an error is returned.
lxc_container: lxc_start.c: main: 290 Executing '/sbin/init' with no configuration file may crash the host
The result is that the process exits and their is no trace left of the container.
The container is not listed when executing lxc-ls -f
Attempting to destroy the container and start from 16.1.1
$ lxc-destroy -n bucket Container is not defined
Additional Steps (CentOS7)
- lxc-ls is not bundled with lxc, it is part of the lxc-extra package. This package is not listed to be installed in 16.1.1
0
Answers
Hi GRO108,
Sorry for missing the CentOS7 "lxc-extra" package, that will get fixed.
Now your issue with the containers, puzzling as I just did the steps 16-1 through 16-9 on my CentoOS7 VM. Were you successful with step 16-6? Are you executing the lxc commands as root or regular user? Which kernel are you using on the base machine running the containers?
Here is an example of mine using the lxc-ls command.
[[email protected] ~]$ lxc-ls -f
NAME STATE IPV4 IPV6 AUTOSTART
[[email protected] ~]$
[[email protected] ~]$ sudo lxc-ls -f
NAME STATE IPV4 IPV6 AUTOSTART
bucket RUNNING 192.168.124.248 - NO
bucket1 STOPPED - - NO
bucket8 RUNNING 192.168.124.199 - NO
[[email protected] ~]$
Hi @lee42x ,
I've gone back over the steps and realised I've missed step 4. (I have added the file
/etc/sysconfig/lxc-net
)When I execute that I receive the error.
Failed to execute operation: No such file or directory
I checked my unit files and noticed that
lxc
was not enabled so I did that.I had a dig around for any packages or manual references for
lxc-net
and didn't come across any.My kernel (of the host) is:
Linux version 3.10.0-1127.10.1.el7.x86_64
Here is a reference for lxc-net, scroll down to the "independent bridge setup" :
[https://wiki.debian.org/LXC#Networking_Essentials]
This file instructs lxc to create a Linux network bridge. An independent bridge is used so the class does not conflict with any existing networking on your system.
Regards Lee
Hello all,
I've got the same mistake (CentOS7/kernel 3.10) --- > systemctl enable lxc-net --> Failed to execute operation: No such file or directory. I will use the "independent bridge setup". thank you for the link. I suggest correcting the lab
Regards
I really think this lab needs to be re-written. Even with the suggestion offered by GRO 108 and following the "independent bridge setup" i still couldn't get it to work. I keep getting the Failed to execute operation: No such file or directory.
Looking into this. Please confirm distribution and version.
In solution 16.1 there are specific insructions for CentOS7 to address the "lxc-net not installed" issue. Both CentOS8 and Ubuntu20.04 do have "lxc-net".
Yep, I followed the instruction for the CentOS7. I ended up just using a fresh install of CentOS 8 and do the rest of the lab. By the way, I was using the CentOS7 image that's found in this site. I haven't tried on a freshly installed CentOS 7 yet; if time permits I'd do that. I just wanted to go through the lab and see how things work.
Some updates that may help:
16.1.1.a make sure lxc is installed
yum install lxc*
16.1.1.b right before step c, restart libvirtd so the bridge shows up
systemctl restart libvirtd
16.1.1.d restart NetworkManager, because we added a dropin file
systemctl restart NetworkManager
16.1.1.e stop the firewall
systemctl disable --now firewalld
The takeaway, if you change a configuration file restart the related service.
Let me know if that sorts out the issue you are seeing.
Work performed on VMware Player and CentOS-7.
Please post your /etc/lxc/default.conf file.
Thank you.
I've gotten around to do a fresh install of CentOS7. And definitely the restart of libvirtd and NetManager most certainly did the trick and there is no need for the lxc-net as the lab instructed.
Here's my /etc/lxc/default.conf:
lxc.network.type = veth
lxc.network.link = virbr0
lxc.network.flags = up