Why are you storing these files at path /ghost and not in /home/you or similar? Is this Docker for Mac? Native Linux? What does the output of the volumes section in docker inspect for the created containers say for the ones created by Compose and the ones created by docker run?
docker: Error response from daemon: create ./ghost/volumes/content: “./ghost/volumes/content” includes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_.-]” are allowed.
See ‘docker run --help’.
run wants absolute paths. You’re trying to use relative path here but starting them with / (I’m not sure why Compose lets you get away with this – it should be ./ghost/volumes/content if I understand correctly). Since that directory doesn’t exist on the host docker will go and create it then bind mount that empty directory into the container.
If you’re going to use docker run you have to do something like -v $(pwd)/ghost/volumes/config.js:/var/lib/ghost/config.js or (the expansion of that subshell) -v /home/myuser/git-repo-projectname/_apps/userid/ghost/volumes/config.js:/var/lib/ghost/config.js