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

相关推荐
0思必得03 分钟前
[Web自动化] HTML列表标签
运维·python·自动化·html·web自动化
松涛和鸣21 分钟前
DAY27 Linux File IO and Standard IO Explained: From Concepts to Practice
linux·运维·服务器·c语言·嵌入式硬件·ubuntu
GeniuswongAir27 分钟前
飞牛NAS死机排查
linux·运维·服务器
hhcgchpspk34 分钟前
linux查找并杀死进程部分方法
linux·运维·服务器·网络·经验分享
爱尔兰极光1 小时前
操作系统--进程同步
运维·服务器
xrkhy1 小时前
windows家庭版,D盘安装docker,下载大模型
windows·docker·容器
青铜念诗1 小时前
k8s 业务备份
云原生·容器·kubernetes
皇族崛起1 小时前
【docker安装部署】- 一个可用的Docker 镜像配置 和 DNS配置
java·docker·容器
HalvmånEver1 小时前
Linux:基础IO(一)
linux·运维·服务器
Lynnxiaowen1 小时前
今天我们学习kubernetes内容持久化存储
linux·运维·学习·容器·kubernetes