Copy lxd containers between hosts
The later release (non-beta) of lxd (v2.0) seems to have resolved my issue. The steps, which may be found in the excellent documentation here, are:
Publish an image (without stopping the container) on host A;
$ lxc publish --force container_name --alias image_name Container published with fingerprint: d2fd708361...a125d0d5885
Export the image to a file;
$ lxc image export image_name Output is in dd2fd708361...a125d0d5885.tar.gz
Copy the file to host B, and import;
$ lxc image import dd2fd708361...a125d0d5885.tar.gz --alias image_name Transferring image: 100%
Launch the container (from the image) on host B;
$ lxc launch image_name container_name Creating container_name Starting container_name
In some instances the publish command may lead to a split xz tar-ball --- but both formats are supported. Simply import the meta-data and rootfs components with
lxc image import <metadata tarball> <rootfs tarball> --alias image_name
0_0 posted a good answer but I'm not allowed to comment just yet so I will just post his answer modified.
First off lxc publish --force container_name --alias image_name
will stop the container and restart it but the OP did not want the container to be stopped.
You should make a snapshot first with lxc snapshot container_name snapshot_name
Then you can publish the image with lxc publish container_name/snapshot_name --alias image_name
Now just follow the rest of his instructions.