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

相关推荐
Wang's Blog7 分钟前
Elastic Stack梳理:Logstash 高级数据处理与监控运维实战指南
运维·搜索引擎·elastic search
云和数据.ChenGuang9 分钟前
运维工程师免费技术教程之tomcat动态日志监控
运维·tomcat·firefox·运维工程师·运维技术
吕海洋20 分钟前
docker + dependency-check 进行安全扫描
安全·docker·容器
python百炼成钢22 分钟前
解决——linux通过网络挂载tftp无法下载
linux·运维·网络
无奈笑天下27 分钟前
银河麒麟高级服务器版本【更换bond绑定的网卡】操作方法
linux·运维·服务器·arm开发·经验分享
深海里的鱼(・ω<)★37 分钟前
CentOS 7 默认 yum 源官方不维护解决方案
linux·运维·centos
猫头虎-人工智能40 分钟前
openEuler远程批量部署实战 SSH VNC IPMI全流程解析
运维·git·开源·ssh·github·开放原子·开源软件
weixin_307779131 小时前
Jenkins Metrics 插件全解析:从数据采集到智能监控的实践指南
运维·开发语言·架构·jenkins
gavin_gxh1 小时前
SAP MM 采购订单号 excel上传 获取订单状态 审批 取消审批
运维·经验分享·其他