If I want to use different credentials on different servers, environment variables work great with docker compose. As an example I will use docker-compose.yml file from article. Docker + Redis + Redis Commander Source files can be found here: in folder recipe-07 https://github.com/ikknd/docker-study : Notes HTTP_USER=${REDIS_USER:-admin} - here I use ${REDIS_USER:-admin} syntax, which means - use REDIS_USER variable from .env file, in case it is missing, use "admin" instead. .env file gets picked up automatically when running "docker-compose up -d", there is no need to specify it somehow If I now try this docker-compose.yml file without .env file, credentials to redis-commander will be . admin/qwerty If I create .env file next to my yml file and put the following inside, credentials to redis-commander will be : test/1234 REDIS_USER=test REDIS_PASSWORD=1234