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

相关推荐
Linux运维技术栈13 分钟前
从Docker到宝塔:Magento2 2.3.5 安装全流程踩坑与成功实践
运维·adobe·docker·容器·magento2
_abcdef17 分钟前
Kubernetes 资源清单
云原生·容器·kubernetes
大心匠24 分钟前
docker安装Nodered连接homeassistant
docker·容器·homeassistant·nodered·排查故障
拾忆,想起24 分钟前
Dubbo负载均衡全解析:五种策略详解与实战指南
java·运维·微服务·架构·负载均衡·dubbo·哈希算法
ttthe_MOon38 分钟前
Nginx实战:状态码、反向代理原理与负载均衡实战详解
运维·nginx·负载均衡
hero_heart1 小时前
ubuntu 密码重置(不用系统盘)
linux·运维·ubuntu
奋斗的蛋黄1 小时前
KEDA 深度解析:K8s 事件驱动自动扩缩容的核心实践
云原生·容器·kubernetes
v***43171 小时前
Nginx WebSocket 长连接及数据容量配置
运维·websocket·nginx
2301_816073832 小时前
SELinux 学习笔记
linux·运维·前端
归叶再无青2 小时前
nginx从入门到实践全指南
运维·nginx·bash