Sorry for the late reply, I let the request slip.
After I installed the snap locally and connected relevant interfaces manually. I have the following known states for relevant plug&slot connections
gary-wzl77@localhost:/run/snapd/ns$ snap interfaces | grep docker-app
:docker-support docker:privileged,docker:support,docker-app:privileged,docker-app:support
:network docker,docker-app
docker:docker-daemon docker:docker-cli,docker-app:docker-cli
docker:docker-executables docker-app
The content of file /var/lib/snapd/mount/snap.$SNAP_NAME.fstab, which looks good,
/snap/docker/x1 /snap/docker-app/x1/docker-env none bind,ro 0 0
But I got an empty file for /run/snapd/ns/snap.$SNAP_NAME.fstab and the bind mount is not added into *.fstab file.
If I simply removed the daemon: simple
from my snapcraft.yaml file and redo the above steps (installation and slot&plug connections), I can see bind mount is saved in /run/snapd/ns/snap.$SNAP_NAME.fstab.
/snap/docker/x1 /snap/docker-app/x1/docker-env none bind,ro 0 0
Also I can manage to launch the app manually this time.