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

相关推荐
China_Yanhy5 小时前
转型AI运维工程师·Day 7:构建“数据飞轮” —— 每一句对话都是资产
运维·人工智能·状态模式
学Linux的语莫5 小时前
k8s常用命令
linux·容器·kubernetes
火山引擎开发者社区6 小时前
Seedance 2.0上线火山方舟体验中心,API即将开放
docker·vim·emacs
freephp6 小时前
睡前讲一段docker编译镜像的故事
docker
A星空1236 小时前
三、Kconfig介绍以及制作menuconfig界面
linux·运维·服务器
安科士andxe7 小时前
实操指南|安科士1.25G CWDM SFP光模块选型、部署与运维全攻略
运维·数据库·5g
Elastic 中国社区官方博客8 小时前
易捷问数(NewmindExAI)平台解决 ES 升级后 AI 助手与 Attack Discovery 不正常问题
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·ai
帷幄庸者10 小时前
跨网的Kubernetes集群:从零构建混合云架构
容器·架构·kubernetes
bepeater123410 小时前
使用Kubernetes部署Spring Boot项目
spring boot·容器·kubernetes
比奇堡派星星10 小时前
sed命令
linux·运维·服务器·开发语言