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

相关推荐
小庄梦蝶14 小时前
宝塔使用nodejs管理器下载nodejs版本失败解决方式之一
linux·运维·前端
何中应14 小时前
解决Jenkins界面操作非常慢的问题
java·运维·jenkins
赵鑫亿14 小时前
ClawPanel v4.4.0 发布:AI 智能助手 + 模型兼容性修复 + UI 优化
人工智能·ui·docker·容器·qq·openclaw
was17214 小时前
轻量级多服务器监控:Beszel 的安装与实战部署
运维·服务器·状态监控
小王C语言14 小时前
【进程概念】————进程切换、环境变量
linux·运维·服务器
Codefengfeng15 小时前
压缩包的恢复
linux·运维
切糕师学AI15 小时前
Kubernetes 中的 Headless Service
云原生·容器·kubernetes
楼田莉子15 小时前
Linux网络学习:网络的基础概念
linux·运维·服务器·网络·c++·学习
猫头虎15 小时前
OpenClaw 常用操作命令完整速查手册:终端 CLI 操作指令详解|聊天斜杠指令详情
运维·git·容器·开源·github·aigc·ai编程
tzhou6445215 小时前
构建3 Master + 3 Node K8s集群完整步骤
云原生·容器·kubernetes