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

相关推荐
18你磊哥20 分钟前
Windows 本地安装部署 Apache Druid
运维·debian
IT成长日记1 小时前
【Docker基础】Docker数据卷管理:docker volume inspect及其参数详解
运维·docker·容器·volume·inspect
ldj20201 小时前
Jenkins 构建过程常见错误
运维·jenkins
伤不起bb1 小时前
Kubernetes 服务发布基础
云原生·容器·kubernetes
ladymorgana1 小时前
【Docker】如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
运维·docker·容器
mcdx1 小时前
基于Docker构建OrangePi5 SDK环境
docker·容器
chanalbert2 小时前
CentOS系统新手指导手册
linux·运维·centos
星宸追风3 小时前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu
制造数字化方案研究院3 小时前
59页|PPT|华为集成服务交付ISD业务变革总体方案:业务规则、流程、IT、组织及度量“四位一体”的管理体系
运维·华为
杨浦老苏3 小时前
Docker端口映射查看工具Dockpeek
网络·docker·群晖