Since my comments contain some typos, I'll recap a couple of suggestions for importing an existing container (whose storage is available) into a new DB.
First, there are (arguably) easier alternatives if one wants to copy an entire instance of LXD (by basically taking the storage of all containers, plus the DB from /var/lib/lxd). Also, if the old instance is still running and reachable by network, a more native approach is to define it as a remote as described in the Remote hosts and container migration chapter in the wonderful Ubuntu Insights LXD 2.0: Blog post series.
Now, one approach described in another chapter of that series (again, only feasible if the old instance is still running) is to make an image of an existing container using
lxc publish <my-container>@<snapshot> <my-image-name>
then export it to tarballs with
lxc image export <my-image-name> /path/to/directory
The resulting tarballs can be imported with
lxc image import <metadata-tarball> <rootfs-tarball> --alias <my-image-name>
As OP said in comments, that's quite a bit of work. What's more serious is that it fails if for some reason you can't run the old instance.
As of version 2.7 LXD stores a backup.yaml file inside each container's storage (at /var/lib/lxd/containers/<my-container>) which allows importing a container from a copy, using lxd import (see LXD Backup Strategies and this GitHub issue). Note the lxd; this is different from lxc image import.
Based on the LXD News page I presume one does that by simply moving a container's storage into the /var/lib/lxd/containers directory, and running
lxd import <my-container>
However, as Xenial official repositories currently offer version 2.0.9 of LXD, I haven't tested that last part.