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

相关推荐
乱蜂朝王3 小时前
Ubuntu 20.04安装CUDA 11.8
linux·运维·ubuntu
Lw老王要学习4 小时前
Windows基础篇第一章_01VMware虚拟机安装window10
运维·windows·虚拟机
yuanmenghao5 小时前
车载Linux 系统问题定位方法论与实战系列 - 车载 Linux 平台问题定位规范
linux·运维·服务器·网络·c++
qq_589568106 小时前
centos6.8镜像源yum install不成功,无法通过镜像源下载的解决方式
linux·运维·centos
weixin_516023076 小时前
linux下fcitx5拼音的安装
linux·运维·服务器
hunter14507 小时前
Linux 进程与计划任务
linux·运维·服务器
楼田莉子7 小时前
Linux学习之磁盘与Ext系列文件
linux·运维·服务器·c语言·学习
陌上花开缓缓归以7 小时前
linux 怎么模拟系统panic重启
linux·运维·服务器
月白风清江有声8 小时前
vscode使用git
linux·运维·服务器
haluhalu.10 小时前
深入理解Linux线程机制:线程概念,内存管理
java·linux·运维