在 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 分钟前
Docker Info 详细解析(Rocky Linux 8.10 / Docker 29.8.1)
docker
小马同学-13 分钟前
crictl实战:K8s容器运行时排障工具
容器·k8s·crictl
蓝速科技41 分钟前
会议室门牌签到功能选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
逐流人42 分钟前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
AlfredZhao1 小时前
Docker 删除 none 镜像:一次真实的清理记录
docker
酣大智4 小时前
网络协议计时器 & 发包间隔汇总
运维·网络·tcp/ip
云运维笔记10 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
bosins11 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
码农学院11 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi12 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes