bash - Lando:环境变量导致exec错误

标签 bash docker environment-variables lando

我正在使用Lando(Windows 10 Enterprise上为v3.0.0-rc.21)并尝试在.lando.yml中的容器创建时设置环境变量:

services:
  appserver:
    type: ruby # the same for php, but didn't tested other types
  run:
    - export SOMENAME=somevalue

tooling:
  test:
    cmd: export SOMENAME=somevalue
    service: appserver

看来Lando启动时无法识别该命令,因为它会抛出:OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"export\": executable file not found in $PATH": unknown
或在lando ssh -c "export SOMENAME=somevalue"上将其作为命令添加到.lando.yml的工具部分(参见上文),然后运行lando test时,会发生非常相同的错误。

但是,在Lando启动后从lando ssh运行相同的命令可以正常工作:
lando ssh
www-data@81bd623b9c3a:/app$ export SOMENAME=somevalue
www-data@81bd623b9c3a:/app$ printenv SOMENAME
somevalue
www-data@81bd623b9c3a:/app$

这是Lando的错误吗?或者某些(哪些?)shell命令应该以某种不同的方式调用?

最佳答案

您可以在lando yaml中使用此env_file:

env_file:
  - defaults.env

defaults.env中:
SOMENAME=somevalue

this

关于bash - Lando:环境变量导致exec错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58303293/

相关文章:

python - 在 cli 函数中使用 python 的子进程会破坏命令行

ubuntu - Windows + VirtualBox + Ubuntu + Docker + Nginx 权限

node.js - 使用来自 Docker 的 env 变量的 React 连接被拒绝错误

windows - 如何在Windows(SHELL)中获取当前用户的环境变量?

正则表达式向后查找字符串和另一个字符串第一次出现之间的所有文本

bash - 从文件夹中获取给定扩展名的第一个文件

c - 如何从 bash 向 C 程序提供输入?

php - 如何在 opcache 中启用优化(在官方的 php-fpm docker 镜像中)

linux - envsubst 仅适用于部分变量

powershell启动进程不知道环境变量(PATH)的变化