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

相关推荐
IT利刃出鞘几秒前
Docker Compose--解决容器时间不正确的问题
运维·docker·容器
山上三树5 分钟前
进程状态详解
linux·运维·服务器
山上三树7 分钟前
task_struct 详解
运维·服务器·网络
oMcLin14 分钟前
如何打造Linux运维监控平台:Prometheus + Grafana实战与性能优化
linux·运维·prometheus
木卫二号Coding36 分钟前
jupyterlab-安装与启动
linux·运维·服务器
fengyehongWorld1 小时前
Linux logger命令
linux·运维·服务器
一只鹿鹿鹿1 小时前
网络信息与数据安全建设方案
大数据·运维·开发语言·网络·mysql
好好学习啊天天向上1 小时前
最新:ubuntu上源码安装llvm,还没有成功
linux·运维·ubuntu
小宇的天下2 小时前
Calibre nmDRC 运行机制与规则文件(13-2)
运维·开发语言
Guistar~~2 小时前
【Linux驱动开发IMX6ULL】使用NXP MfgTool 烧写系统到eMMC
linux·运维·驱动开发