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

相关推荐
梦想的颜色24 分钟前
硬核实践:使用 Docker 部署生产级 Redis(持久化 + 安全配置 + 高可用)
redis·docker·redis持久化·docker compose·redis哨兵·rdb aof
weixin_4713830332 分钟前
Docker - 05 - 构建流程
运维·docker·容器
夏玉林的学习之路1 小时前
如何远程连接服务器
运维·服务器
风曦Kisaki2 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
Tipriest_3 小时前
ubuntu创建和更换当前swap大小
linux·运维·ubuntu
雨辰AI3 小时前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
ejinxian4 小时前
微虚拟机 smolvm 与Docker 容器比较
运维·docker·容器·smolvm
ShiXZ2134 小时前
PDF-OCR文件识别篇(八):配置、运维与排错
java·运维·ocr·dubbo·springboot
爱码少年4 小时前
Docker如何一次查看多个容器日志
运维·docker·容器
WI8LbH7885 小时前
Ubuntu 部署Harbor
linux·运维·ubuntu