我想将环境变量传递到新容器中,而不会覆盖现有环境变量。我尝试使用--env
,但不幸的是它覆盖了所有内容。在容器启动后,我也无法设置变量-我正在使用的软件会发疯。
如何发送这些变量?我希望除了做出崭新的形象外,还有其他选择。
非常感谢您的帮助?
编辑:
我正在启动的图像已经具有预设的环境变量。当我运行以下代码时,这些预设的环境变量将被覆盖:
docker run --interactive --tty --rm --name $name --volume $mount --workdir $workdir -p $p --env DISPLAY=docker.for.mac.host.internal:0 $image bash
我想在容器启动时设置环境变量DISPLAY=docker.for.mac.host.internal:0
,而不会覆盖预设的环境变量。
对不起,我很困惑。我希望现在已经清楚了!
答案 0 :(得分:0)
在您的应用中创建一个名为 DISPLAY2 的新变量并将其设置为新变量。让 DISPLAY 设置旧变量。这样你在 DISPLAY 中的原始变量就不会因为你没有设置它而被覆盖。
docker run --interactive --tty --rm --name $name --volume $mount --workdir $workdir -p $p --env DISPLAY2=docker.for.mac.host.internal:0 $图片重击