doker ERROR: for Cannot create container for service mailhog: Conflict. The container name is already in use by container code example
Example: docker compose Conflict. The container name
Your case is probably related to a bug that will be fixed in the 18.03 release. Some workarounds are proposed here:
https://github.com/docker/for-linux/issues/211
https://github.com/moby/moby/issues/36145
docker-compose up builds, (re)creates, starts, and attaches to containers for a service.
Since your images are built and the containers of your service have started, you can then use
docker-compose stop and
docker-compose start
to start/stop your service. This is different from docker-compose down which:
Stops containers and removes containers, networks, volumes, and images created by up.
Regarding the danger of losing your data if a container is removed, read about persistent storage and how to use volumes.