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

相关推荐
Tummer8363几秒前
Docker迁移(N8N项目)
docker·容器
only°夏至besos1 分钟前
MySQL 运维实战:常见问题排查与解决方案
运维·数据库·mysql
赋创小助手11 分钟前
超微 SYS-E403-14B-FRN2T 深度解析:面向边缘与 IoT 场景的高扩展紧凑型服务器
运维·服务器·人工智能·科技·物联网·ai·边缘计算
飞翔沫沫情18 分钟前
关于在Jenkins 的job 中隐藏shared library 共享库相关的Git信息
运维·git·jenkins
陈平安Java and C20 分钟前
Docker Compose容器编排
docker
乌萨奇也要立志学C++21 分钟前
【Linux】线程同步 条件变量精讲 + 生产者消费者模型完整实现
java·linux·运维
AI+程序员在路上38 分钟前
嵌入式Linux中添加ftp服务器的简易方法
linux·运维·服务器
江湖有缘1 小时前
Docker一键部署docat:打造轻量级开源文档管理系统
docker·容器·开源
Tummer83631 小时前
Docker+n8n全流程配置和部署(N8N部署流程)
运维·docker·容器
Lam㊣1 小时前
Centos 7 系统docker pull 设置代理
docker·eureka·centos