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

相关推荐
u***4207几秒前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
HalvmånEver29 分钟前
Linux:进程的切换与调度(进程四)
linux·运维·服务器
运维有小邓@1 小时前
实时日志关联分析工具:智能检测潜在安全威胁
运维·网络·安全
m***92381 小时前
docker中配置redis
redis·docker·容器
谷隐凡二1 小时前
Docker 的核心理念及技术的简单说明
运维·docker·容器
daqinzl1 小时前
Docker 安装 Ubuntu
ubuntu·docker
L***B5681 小时前
如何安装linux版本的node.js
linux·运维·node.js
会飞的小蛮猪2 小时前
Ubuntu24.04 基于Containerd部署K8s1.34(私服部署)
docker·云原生·kubernetes
脏脏a2 小时前
【Linux】Linux进程状态深度解析
linux·运维·服务器
凉晓风2 小时前
Linux中常见几种自启动方式的区别
linux·运维·服务器