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

相关推荐
不做码农好多年,该何去何从。13 分钟前
docker(一)----使用docker安装运行tomcat
docker·容器·tomcat
狂放不羁霸19 分钟前
Tailscale | 校园网外笔记本借助校园网内主机连接实验室服务器
运维·服务器·vscode
shughui26 分钟前
最新版Jenkins下载、安装、配置项目路径、集成Allure、
运维·jenkins
德育处主任Pro29 分钟前
『NAS』在群晖部署OCR文字识别工具-TrWebOCR
docker·ocr·群晖·nas
Apifox.31 分钟前
测试用例越堆越多?用 Apifox 测试套件让自动化回归更易维护
运维·前端·后端·测试工具·单元测试·自动化·测试用例
Curvatureflight31 分钟前
Docker容器化部署实战指南:从入门到生产环境
运维·docker·容器
数字化转型202533 分钟前
SAP 实施项目乙方因甲方逾期付款单方面中途离场的风险处理方案
运维·人工智能·机器学习
爱吃生蚝的于勒34 分钟前
【Linux】零基础学习命名管道-共享内存
android·linux·运维·服务器·c语言·c++·学习
济61738 分钟前
Linux内核---vmlinux、zImage、uImage区别
linux·运维·服务器
静谧空间41 分钟前
Linux自动备份Mysql数据
linux·运维·mysql