Docker Compose の env_file ディレクティブを使用する場合、原則として env_file に指定されたファイル内でシェルのシンタックスを使用することはできません。

しかし、env_file にはシェルスクリプトを指定することもできますので、以下のようにシェルスクリプトファイル(例えば、env.shとします)を作成することで対応できます。
#!/bin/bash
export MY_VARIABLE=my_value
docker-compose.yml の env_file ディレクティブでシェルスクリプトファイルを指定します。
version: '3'
services:
myservice:
env_file:
- ./env.sh
注意点として、シェルスクリプトのパーミッションを正しく設定する必要があります。
また、シェルスクリプト内で環境変数を定義する場合には export
する必要があります。
ちなみに、env_file で定義された環境変数は、コンテナ内では使えますが、docker-compose.yml 内では使えません。
(これでちょっとはまりました。)