Docker compose won't find $PWD environment variable Docker compose won't find $PWD environment variable docker docker

Docker compose won't find $PWD environment variable


You don't need ${PWD} for this, you can just make the path relative and compose will expand it (one major difference between compose paths and those processed by docker run).

version: '2'services:  couchpotato:    build:        context: ./couchpotato        dockerfile: Dockerfile    ports:     - 5050:5050    volumes:     - "./couchpotato/data:/home/CouchPotato/data/"     - "./couchpotato/config:/home/CouchPotato/config/"

As for why compose doesn't see this variable, that depends on your shell. Compose looks for an exported environment variable, contents of the .env file, and command line flags to the docker-compose command. If each of those comes up empty for the variable, you'll get that warning.


$PWD will not work if you are running using sudo. Try the recommended settings from Docker for Linux https://docs.docker.com/engine/install/linux-postinstall/.

Sudo will run as a different user, with a different env.

$ sudo env | grep -i pwd$ env | grep -i pwdPWD=/home/userOLDPWD=/