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

相关推荐
BullSmall17 小时前
Test Matrix:测试矩阵(IT 领域定义 + 设计实践 + 华为场景应用)
运维·服务器
liuyao_xianhui17 小时前
版本控制器git--gdb/cgdb
linux·运维·服务器·git
CS_浮鱼17 小时前
【Linux进阶】mmap实战:文件映射、进程通信与LRU缓存
linux·运维·c++·缓存
xu_yule17 小时前
Linux_16(多线程)信号量+基于环形队列的生成消费模型+自选锁+读写锁
linux·运维·服务器
行初心18 小时前
uos基础 systemctl 查看unit的详细配置
运维
eyuiomvtywn18 小时前
阿里云DNS解析Vercel部署项目的域名
运维·服务器·阿里云
4t4run18 小时前
25、Linux 特殊权限
linux·运维
S***y39618 小时前
DevOps监控告警体系
运维·devops
HUT_Tyne26519 小时前
Linux 快速入门
linux·运维·服务器
鸠摩智首席音效师20 小时前
如何在 Linux 中使用 dd 命令 ?
linux·运维·服务器