在 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 小时前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
workflower1 小时前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
小义_2 小时前
随笔 3(Linux)
linux·运维·服务器·云原生·红帽
杨浦老苏2 小时前
开源的AI编程工作站HolyClaude
人工智能·docker·ai·编辑器·开发·群晖
#六脉神剑2 小时前
MySQL参数调优:十个关键参数助力数据库性能数倍提升
运维·mysql
cccccc语言我来了2 小时前
Linux(10)进程概念
linux·运维·服务器
伐尘2 小时前
【linux】查看空间(内存、磁盘、文件目录、分区)的几个命令
linux·运维·网络
倔强的胖蚂蚁3 小时前
x2openEuler 辅助机完整部署教程
运维·云原生
原来是猿3 小时前
Linux进程信号详解(二):信号产生
linux·运维·服务器
chxii3 小时前
Nginx性能优化-压缩(返回头报文介绍)
运维·nginx·性能优化