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?

## Matched source
Source: Source: https://stackoverflow.com/questions/75031333/docker-compose-volume-definition-using-environment-variable
Original query: "Docker compose volume definition using environment variable"
Key terms: compose, definition, docker, environment, using, variable, volume
