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

相关推荐
@游子1 小时前
内网渗透笔记-Day5
运维·服务器
记得记得就1511 小时前
【Nginx 性能优化与防盗链】
运维·nginx·性能优化
Yawesh_best1 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
roman_日积跬步-终至千里1 小时前
【Docker】Docker Stop 后到底发生了什么?——从信号机制到优雅停机
运维·docker·容器
喵手1 小时前
云端智变:基于 DevUI 与 MateChat 打造下一代云原生智能运维中台实战教学!
运维·云原生·devui·matechat
小五传输2 小时前
常用的文件摆渡系统:让数据安全高效跨越网络界限
大数据·运维·安全
z***6262 小时前
Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像
docker·容器·tomcat
2501_921939263 小时前
11.26LAMP-LNMP-分离部署
运维
牛哥带你学代码3 小时前
服务器运行常用指令
运维·服务器
这儿有一堆花3 小时前
Kali Linux:探测存活到挖掘漏洞
linux·运维·服务器