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

相关推荐
悄悄敲敲敲8 分钟前
Linux:进程间通信->共享内存
linux·运维·服务器
绵绵细雨中的乡音16 分钟前
Linux进程学习【环境变量】&&进程优先级
linux·运维·学习
天下·第二27 分钟前
【Nginx】负载均衡配置详解
运维·nginx·负载均衡
cherishSpring29 分钟前
在windows使用docker打包springboot项目镜像并上传到阿里云
spring boot·docker·容器
LKAI.34 分钟前
k8s存储动态供给StorageClass
docker·微服务·云原生·容器·kubernetes
GanGuaGua1 小时前
linux:进程的替换
linux·运维·服务器
你可以叫我仔哥呀1 小时前
k8s学习记录(五):Pod亲和性详解
学习·容器·kubernetes
梓䈑2 小时前
【Linux系统】详解Linux权限
linux·运维·bash
马武寨山的猴子2 小时前
【MinerU】:一款将PDF转化为机器可读格式的工具——RAG加强(Docker版本)
人工智能·docker·容器·pdf·rag
Mr_sun.2 小时前
Day23-Web开发——Linux
linux·运维·服务器