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

相关推荐
雪可问春风16 小时前
docker环境部署
运维·docker·容器
lwx91485216 小时前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜16 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi716 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白16 小时前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
海的透彻16 小时前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
路溪非溪17 小时前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
航Hang*17 小时前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
北方的流星17 小时前
华三网络设备的路由重定向配置
运维·网络·华三
河南博为智能科技有限公司17 小时前
蓄电池在线监测系统-守护数据中心安全防线
运维·边缘计算