I might not remember correctly but lxc came out around 2008. Docker in 2013. The lxc commands had the trend of dashes in their name — lxc-attach, lxc-snapshot, lxc-copy and so forth. It had lots of boilerplate and a steep learning curve. Then lxd arrived (in 2015?) to make everything user friendly. lxd is preferred. I still mostly use lxc out of habit.