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

相关推荐
小锋学长生活大爆炸8 分钟前
【教程】apache设置禁止通过IP访问,只能域名访问
linux·运维·服务器·网络·网络协议·tcp/ip·apache
七七期11 分钟前
解决JPS少DataNode的情况
linux·运维·服务器
枫舞雪域1 小时前
【Ubuntu】安装QQ
linux·运维·ubuntu
孙同学_1 小时前
【Linux篇】基础开发工具-编译器gcc/g++
java·linux·运维
数据龙傲天2 小时前
电商数据流通的未来:API接口的智能化与自动化趋势
大数据·运维·人工智能·数据分析·自动化
夜半被帅醒2 小时前
运维工程师面试系统监控与优化自动化与脚本云计算的理解虚拟化技术的优点和缺点
运维·面试·自动化
lisenustc2 小时前
在linux系统的docker中安装GitLab
linux·docker·gitlab
听说唐僧不吃肉2 小时前
CICD篇之通过Jenkins中书写pipeline构建编译打包发布流程
运维·jenkins
墨水\\3 小时前
docker安全及日志管理
linux·运维·docker