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

相关推荐
大柏怎么被偷了12 小时前
【Linux】进程替换
linux·运维·服务器
EAIReport12 小时前
企业级报表自动化:基于Docker的部署实践
运维·docker·自动化
行初心13 小时前
uos基础 sys-kernel-debug.mount 查看mount文件
运维
1***y17813 小时前
DevOps在云中的Rancher
运维·rancher·devops
tianyuanwo14 小时前
多平台容器化RPM构建流水线全指南:Fedora、CentOS与Anolis OS
linux·运维·容器·centos·rpm
wasp52015 小时前
做了技术管理后,我发现技术和管理其实可以兼得
java·运维·网络
云和数据.ChenGuang15 小时前
mysqld.service is not a native service问题解决!
运维·nginx·运维技术·运维工程师技术
HalvmånEver15 小时前
Linux:进程状态(进程二)
linux·运维·服务器
写代码的学渣16 小时前
ubuntu 22.04 新装的系统 xshell 连不上
linux·运维·ubuntu
2501_9418059316 小时前
深入解析现代多语言后端架构设计:Python、Java、C++与Go在高性能服务中的实践
运维