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

相关推荐
Stuomasi_xiaoxin17 分钟前
记录一次Cursor remote ssh 代理连接失败问题,附解决方案!!!
运维·ssh
柳鲲鹏22 分钟前
断电重启和reboot,还是有很大差异
linux·运维·服务器
遇见火星23 分钟前
部署DNS主从服务器
运维·服务器·dns·bind9
匀泪26 分钟前
CE(NFS服务器)
运维·服务器·php
L16247626 分钟前
Prometheus 监控 K8s 集群全指南(适配 K8s 特性 + 实操部署)
docker·容器·kubernetes
王旭晨26 分钟前
【高并发架构】从 0 到亿,从单机部署到 K8s 编排:高并发架构的 8 级演进之路
容器·架构·kubernetes
热心市民R先生30 分钟前
Ubuntu 22.04 下 IGH EtherCAT 主站永久性开机自启
linux·运维·服务器
源远流长jerry32 分钟前
DPDK 19.08(Ubuntu 16.04)环境搭建
linux·运维·网络·ubuntu
Ha_To38 分钟前
2026.1.14 Linux计划任务与进程
linux·运维·服务器
阿方索43 分钟前
Kubernetes 1.28 高可用集群安装指南(Docker 运行时)
docker·容器·kubernetes