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

相关推荐
哲Zheᗜe༘6 分钟前
学习K8S-Deployment资源对象
docker·容器·kubernetes
生活爱好者!9 分钟前
【影视项目】NAS 部署稳定视频订阅源咪咕
服务器·网络·docker·容器·音视频
骥龙18 分钟前
5.14、AI安全运维体系:构建企业级的“安全超脑”
运维·人工智能·安全
源梦想22 分钟前
机甲恐龙动作冒险网页小游戏Linux部署教程
linux·运维·服务器
该用户已不存在28 分钟前
Let’s Encrypt 证书有效期将缩至 45 天,运维天都塌了
运维·https·自动化运维
robin591132 分钟前
容器-PUSH镜像卡住问题排查
容器·golang·kubernetes
yiyeguzhou10037 分钟前
论文解读:Overcoming the IOTLB wall for multi-100-Gbps Linux-based networking
linux·运维·服务器
国家不保护废物42 分钟前
RAG + Agent + Prompt工程中
docker·llm·aigc
妄想出头的工业炼药师1 小时前
cuda如何安装卸载
linux·运维·服务器
泡沫·1 小时前
3.sed 使用手册
运维