我正在使用兰多 (在Windows10Enterprise上使用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 ssh运行相同的命令,其工作原理如下:
lando ssh
www-data@81bd623b9c3a:/app$ export SOMENAME=somevalue
www-data@81bd623b9c3a:/app$ printenv SOMENAME
somevalue
www-data@81bd623b9c3a:/app$这是兰多虫吗?或者一些(哪个?)shell命令应该以某种不同的方式调用吗?
发布于 2019-10-09 11:44:03
发布于 2019-11-01 10:59:13
只是想把这个从评论中拿出来。最后,兰多重写了这样一个解决方案:
services:
appserver:
type: ruby # or other type
overrides:
environment:
SOMENAME: somevalue文档:https://docs.lando.dev/config/services.html#overrides
另一个解决办法--正如@LinPy在他的回答中所建议的--是使用外部env_file
发布于 2020-08-03 22:14:28
如果希望在CLI中有可用的变量,可以这样做:
events:
post-start:
- appserver: "export PHP_IDE_CONFIG=\"serverName=appserver\""
运行lando restart -y && lando ssh,然后通过printenv | grep PHP_IDE_CONFIG检查值
https://stackoverflow.com/questions/58303293
复制相似问题