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

相关推荐
派葛穆几秒前
Ubuntu-软件安装和执行
linux·运维·ubuntu
AlickLbc14 分钟前
WSL2安装Ubuntu与Claude Code记录
linux·运维·ubuntu
青天喵喵25 分钟前
Linux WiFi 架构解析:连接流程(基础篇二)
linux·运维·架构·嵌入式·wi-fi·sta·ap
珂玥c29 分钟前
kubeadm方式部署 k8s 1.21
云原生·容器·kubernetes
雨的旋律209940 分钟前
linux网卡绑定bond设置一步不少
linux·运维·网络
MXsoft6181 小时前
**国产化环境下运维平台如何做到全栈适配、自主可控?**
运维
是垚不是土1 小时前
PostgreSQL 运维工程师 “一本通“ :安装、配置、备份与监控
linux·运维·数据库·postgresql·运维开发
IT大白鼠1 小时前
Linux账号和权限管理
linux·运维·服务器
zzzyyy5381 小时前
Linux 下 从 ELF 可执行文件 到 进程虚拟地址空间的加载、映射与运行底层原理
linux·运维
MXsoft6181 小时前
**多协议接入****≠****全栈覆盖:设备监控盲区的真相与破解之道**
运维