在 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 内部的环境变量了

相关推荐
天青色等烟雨..6 小时前
智慧农林核心遥感技术99个案例实践
运维·人工智能·spring boot·后端·自动化
数智化精益手记局6 小时前
拆解复杂项目管理流程:用项目管理流程解决跨部门协作低效难题
大数据·运维·数据库·人工智能·产品运营
Solis程序员6 小时前
长会话状态治理(下):数据更新机制、并发保护与可复用设计原则
运维·服务器
是个西兰花6 小时前
linux:命名管道与共享内存
linux·运维·服务器·网络·c++
MXsoft6187 小时前
**智慧校园运维实践:多校区、老旧设备的统一监控方案**
运维·自动化
Sean‘7 小时前
在隔离内网机器上使用 Filebeat 全量采集日志并推送到 ELK 的实战
运维·服务器·elk
Promise微笑7 小时前
精准微阻测量:微欧计的分类、场景应用与高效选型决策指南
大数据·运维·网络·人工智能
MageGojo7 小时前
R-Shell开源项目实战解析:用Rust打造命令行SSH工具,支持连接管理、远程执行、SFTP与MCP
运维·rust·开源项目·命令行工具·ssh客户端·mcp
云飞云共享云桌面7 小时前
非标设计工厂8-10个SolidWorks研发共享一台高性能工作站
运维·服务器·自动化·电脑·制造
墨痕诉清风7 小时前
Linux系统设置上海时间(24小时制)
linux·运维·服务器