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

相关推荐
远向光1 小时前
k8s中的微服务
docker·容器·kubernetes
北京阿法龙科技有限公司2 小时前
AR巡检轨道交通、地铁运维场景的应用技术方案|阿法龙XR云平台
运维·ar·xr
Teamhelper_AR2 小时前
AR智能巡检:电力运维的“透视眼”与“超级大脑”
运维·ar
likeyou~coucou2 小时前
nginx负载均衡
运维·负载均衡
指尖@韶华2 小时前
【Kylin Linux root 密码故障处置指南(超限重试 + 改回原密码)】
linux·运维·kylin
Madison-No72 小时前
【Linux】 第一个系统程序——进度条
linux·运维·服务器
求你别吃了ど⁰̷̴͈꒨⁰̷̴͈う♡2 小时前
Linux给命令起别名
linux·运维·服务器
年度最佳学生2 小时前
【linux】解决selinux 导致的 systemctl code=exited, status=203/EXEC
linux·运维·服务器
青山的青衫2 小时前
【用homebrew配置nginx+配置前端项目与后端联调】Macbook M1(附一些homebrew操作)
运维·前端·nginx
Maple_land2 小时前
内建命令揭秘与环境变量全景:Linux变量体系的完整闭环
linux·运维·服务器·c++·centos