繁体   English   中英

如何在运行 docker exec 命令时使用 docker 容器的环境变量

[英]How to use docker container's env variable while running docker exec command

我正在运行docker exec -it...命令,我需要使用 docker 容器的环境变量。 一个例子:

docker exec -it container_id command_here param_1 $param_2_as_env_variable

在上述情况下,它从主机中提取param_2_as_env_variable ,而不是 docker 容器。 在另一台机器上运行docker exec...命令时,是否可以使用容器本身的环境变量?


更新:我可以使用docker exec -it container_id printenv | grep...的输出 docker exec -it container_id printenv | grep... . 但我无法将值和键分开。 我怎样才能在这里获得唯一的价值?

您需要转义变量以将其传递给未解析的 docker exec 命令:

尝试:

docker exec -it container_id command_here param_1 \$param_2_as_env_variable

像这样的东西可以工作(假设容器安装了 shell)

docker exec -it container_id sh -c 'command_here param_1 $param_2_as_env_variable'

例如以下作品:

docker exec -it test sh -c 'echo $HOSTNAME'

给出容器的主机名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM