It is using Shell Parameter expansion : ${parameter:-word} If parameter is unset or null, then word is used as a default value. In this case, as DOCKER_VOLUME_DIRECTORY is not set, the default value of . (the current directory) is used. $ echo ${DOCKER_VOLUME_DIRECTORY:-.} . So the volume will effectively be: volumes: - ./volumes/mount the host path etcd at container path /etcd

Context: I'm running a containerized Milvus Standalone database ( Milvus ) and I'm trying to find the location of items added to the database. In the docker-compose.yml file, the volume location is defined as follows: volumes: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/mount the host path etcd at container path /etcd Checking my docker server, I do not find an environment variable named DOCKER_VOLUME_DIRECTORY. What does this definition mean? Also, what does the :-. part mean?