Aquí está mi docker-compose:
version: '2' services: couchpotato: build: context: ./couchpotato dockerfile: Dockerfile ports: - 5050:5050 volumes: - "${PWD}/couchpotato/data:/home/CouchPotato/data/" - "${PWD}/couchpotato/config:/home/CouchPotato/config/"Cuando lo ejecuto dentro del shell, en el directorio de docker-compose.yml, obtengo:
WARNING: The PWD variable is not set. Defaulting to a blank string.y la composición comienza con PWD vacío.
No veo ningún error en el archivo, como se ve aquí: https://docs.docker.com/compose/environment-variables/
No necesita ${PWD} para esto, simplemente puede hacer que la ruta sea relativa y componer la expandirá (una diferencia importante entre las rutas de redacción y las procesadas por 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/"En cuanto a por qué componer no ve esta variable, eso depende de su shell. Compose busca una variable de entorno exportada, el contenido del archivo .env y las marcas de la línea de comando para el comando docker-compose. Si cada uno de ellos aparece vacío para la variable, obtendrá esa advertencia.
Mi consejo: cambie todos los $PWD a .
$PWD no funcionará si está ejecutando sudo . Pruebe la configuración recomendada de Docker para Linux https://docs.docker.com/engine/install/linux-postinstall/ .
Sudo se ejecutará como un usuario diferente, con un env diferente.
$ sudo env | grep -i pwd $ env | grep -i pwd PWD=/home/user OLDPWD=/