Docker compose docker compose运行未设置环境变量

Docker compose docker compose运行未设置环境变量,docker-compose,Docker Compose,我确实使用docker compose,并且有一个.env文件,其中包含一个环境变量: KEY=VAL 此外,我的docker-compose.yml中还包含以下内容: version: '3' services: webapp: build: ./dir environment: - KEY={$KEY} 如果我运行docker compose build以及docker compose up则可以在容器中访问环境变量键。 如果我现在运行一些命

我确实使用docker compose,并且有一个
.env
文件,其中包含一个环境变量:

KEY=VAL
此外,我的docker-compose.yml中还包含以下内容:

version: '3'
  services:
    webapp:
     build: ./dir
     environment:
       - KEY={$KEY}
如果我运行
docker compose build
以及
docker compose up
则可以在容器中访问环境变量键。 如果我现在运行一些命令:
docker compose run webapp echo$KEY

它不打印任何内容,因此猜测它未设置。这是正常的行为,还是我错过了一些实质性的东西


提前感谢

对于有相同问题的人,echo命令似乎有问题,它将打印主机的$KEY,而不是容器。如果我使用“docker compose run webapp printenv”,我会看到我的变量。因此,它确实可以在容器中使用。如果我执行“docker compose run webapp‘echo$KEY’”(echo$KEY周围的单引号),我会收到以下错误:守护程序的错误响应:OCI运行时创建失败:容器\u linux。go:348:启动容器进程导致“exec:\“echo$KEY\”:在$PATH中找不到可执行文件:Unknown回声问题似乎与alpine容器图像有关我正在尝试使用环境变量设置图像标记,但出现相同错误(环境变量似乎为空):错误:没有这样的图像:myimage::从命令行设置环境变量的引用格式无效:docker compose run-e TAG=标记名myimage如果我导出标记名=标记名它工作正常