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

相关推荐
学不完的25 分钟前
Docker 的安全优化
运维·安全·docker·容器·eureka
老星*26 分钟前
1Panel:现代化开源Linux服务器运维管理面板
运维·服务器·开源
七七powerful27 分钟前
运维养龙虾--使用腾讯workbuddy部署ssh-mcp-server允许通过 MCP 协议远程执行 SSH 命令
运维·ssh·ssh-mcp
twc82930 分钟前
打造专属 MCP Server 测试自动化的私有化解决方案
运维·软件测试·人工智能·自动化·mcp server
顶点多余32 分钟前
Linux中进程间通信 ---管道篇
linux·运维·服务器
实在智能RPA37 分钟前
实在 Agent 支持哪些企业业务场景的自动化?全行业智能自动化场景深度拆解
java·运维·自动化
BY组态43 分钟前
【对比分析】Ricon组态系统 vs 传统组态软件
运维·物联网·web组态·组态
不知名。。。。。。。。1 小时前
仿muduo库实现高并发服务器----HttpServer
运维·服务器·算法
恋红尘1 小时前
K8S 服务发现-叩丁狼
linux·docker·kubernetes
IMPYLH1 小时前
Linux 的 dd 命令
linux·运维·服务器