Home > Blockchain >  Docker compose volume definition using environment variable
Docker compose volume definition using environment variable

Time:01-06

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/etcd:/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?

CodePudding user response:

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/etcd:/etcd
  • Related