在 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 分钟前
全栈工程师:运维篇(二):docker-compose 理解
docker
芥子沫17 分钟前
Linux下编程有什么优势?
linux·运维·服务器
技术小甜甜22 分钟前
[AI] 从文档问答到流程自动化:Dify 最近为什么总出现在 AI 落地讨论里?
运维·人工智能·自动化·工作流·dify
hjxu201629 分钟前
简记Cursor远程连接Docker
docker·cursor
D愿你归来仍是少年36 分钟前
Docker 基础入门指南
docker·容器
REDcker37 分钟前
Linux systemd发展演进与实战指南
linux·运维·服务器
白太岁39 分钟前
Linux 进程调度模块
linux·运维·服务器
BioRunYiXue1 小时前
甘油不够了,能用植物油保存菌种吗?
java·linux·运维·服务器·网络·人工智能·eclipse
羸弱的穷酸书生1 小时前
跟AI学一手之运维Agent
运维·人工智能·agent
一只小bit1 小时前
技术架构演进之路:从单体应用到Docker容器编排
docker·容器·架构