【发布时间】:2021-07-03 18:02:54
【问题描述】:
是否有相当于 bash 的export 的 Windows?我想设置一个环境变量,以便后续命令可以使用它。我不想setx一个永久的环境变量。
例如,这可以在 Windows 终端 PowerShell 命令提示符中与 Docker for Windows 一起正常工作。 FOO 环境变量值在容器中可用。
PS C:\Users\Owner> docker run -e FOO=bar centos env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=05b90a09d7fd
FOO=bar
HOME=/root
但是我如何在 Windows 中设置一个相当于 bash 导出的 env 变量,以便它可以在 直接在每个 docker run 命令上设置值的情况下使用?
在这里可以看到set 没有将FOO 的值传递给容器。
PS C:\Users\Owner> set FOO=bar
PS C:\Users\Owner> docker run -e FOO centos env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=6642033b3753
HOME=/root
我知道我可以创建一个 env 文件并将其传递给 docker run,但我试图避免这种情况。
PS:我在这里问了这个问题,但没有得到答案: https://forums.docker.com/t/how-to-set-environment-variables-in-command-prompt-so-theyre-passed-in-docker-run-e-foo-e/106776/4
【问题讨论】:
-
您在寻找这样的东西吗?
$env:FOO = 'BAR' ; docker run -it -e FOO alpine:3.9 /bin/sh在这里,在容器中运行env显示FOO=BAR。
标签: docker powershell