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

相关推荐
玉梅小洋几秒前
修改 Docker 容器主机名
运维·docker·容器
这也能行5 分钟前
KeepAlived
运维·服务器·网络
人间打气筒(Ada)6 分钟前
gitlab私有仓库搭建
运维·gitlab·项目实战·devops·代码部署实战·版本控制仓库
何中应7 分钟前
ubuntu如何设置远程工具连接
linux·运维·ubuntu
黑蛋同志9 分钟前
Rocky Linux 10 上搭建 社区版 GitLab CE
linux·运维·gitlab
fygfh.15 分钟前
Linux外设之 串口(UART)的使用
linux·运维·单片机
赛博云推-Twitter热门霸屏工具19 分钟前
推特自动化营销新趋势:赛博云推如何实现热门霸屏与精准获客
运维·科技·自动化·媒体·twitter
劳埃德福杰20 分钟前
Windows电脑安装双系统,如何删除其中一个系统
运维·windows·电脑·笔记本电脑
一个向上的运维者20 分钟前
从 K8s Device Plugin 到 Volcano 多元算力管理:GPU 显存共享实战与深度解析
云原生·容器·kubernetes
yuanmenghao20 分钟前
WSL + Docker GPU 环境排查:NVIDIA-SMI couldn‘t find libnvidia-ml.so 问题分析与解决
linux·运维·服务器·docker·容器