これが私の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/"
シェル内でdocker-compose.ymlのディレクトリで実行すると、次の結果が得られます。
WARNING: The PWD variable is not set. Defaulting to a blank string.
構成は空のPWDで始まります。
ここに見られるように、ファイルにエラーは表示されません: https://docs.docker.com/compose/environment-variables/
これには${PWD}
は必要ありません。パスを相対にすると、composeはそれを拡張します(composeパスとdocker run
によって処理されるパスの大きな違いの1つ)。
version: '2'
services:
couchpotato:
build:
context: ./couchpotato
dockerfile: Dockerfile
ports:
- 5050:5050
volumes:
- "./couchpotato/data:/home/CouchPotato/data/"
- "./couchpotato/config:/home/CouchPotato/config/"
Composeがこの変数を認識しない理由については、シェルに依存します。 Composeは、エクスポートされた環境変数、.envファイルの内容、およびdocker-composeコマンドのコマンドラインフラグを探します。これらのそれぞれが変数に対して空になると、その警告が表示されます。