在 docker 内运行命令的一个大坑

当你希望使用 docker 容器内部的 echo 打印 docker 容器内部的环境变量时,不能直接使用下面的命令:

bash 复制代码
docker run IMAGE_NAME bash -c "echo $ENVNAME"

这是因为,host 中的 shell 会把 "$ENVNAME" 替换成 host 上的 ENVNAME 的值

正确方法,加个反斜杠,如下:

bash 复制代码
docker run IMAGE_NAME bash -c "echo \$ENVNAME"

转义 $ 符号,让它被传进 docker 容器内,这样就可以打印 docker 内部的环境变量了

相关推荐
张太行_4 小时前
Linux静态库:多模块高效管理
linux·运维·服务器
wgl6665205 小时前
Linux---基础IO!
linux·运维·服务器
Ancelin安心5 小时前
kali-dirsearch的使用
linux·运维·服务器·python·计算机网络·web安全·网络安全
jun_bai6 小时前
python+Java的网盘程序升级版。无感知备份文档,保护数据资产利器。
运维·服务器
suzhou_speeder6 小时前
PoE 延长器:突破 PoE 距离限制,优化网络灵活部署方案
运维·网络·poe·poe交换机·poe延长器
—Qeyser6 小时前
Flutter GestureDetector 完全指南:让任何组件都能响应手势
flutter·云原生·容器·kubernetes
月光下的麦克6 小时前
如何查案动态库版本
linux·运维·c++
EndingCoder7 小时前
索引类型和 keyof 操作符
linux·运维·前端·javascript·ubuntu·typescript
liux35287 小时前
Web集群管理实战指南:从架构到运维
运维·前端·架构
石小千7 小时前
Linux清除缓存
linux·运维