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

相关推荐
浪潮IT馆19 分钟前
Alibaba Cloud Linux 3 安装 Tomcat
linux·运维·tomcat
春生野草1 小时前
(二)Docker实战--Docker镜像部署与启动
学习·docker·容器
二进制星轨1 小时前
科研人如何使用ubantu服务器
运维·服务器
网宿安全演武实验室1 小时前
【技术观察】反检测浏览器Camoufox 技术解构与思考
运维·安全
掘根2 小时前
【Docker】docker compose
docker·容器·eureka
isaki1373 小时前
arm day1
linux·运维·arm开发
Dovis(誓平步青云)3 小时前
《场景化落地:用 Linux 共享内存解决进程间高效数据传输问题(终篇)》
linux·运维·服务器
java_logo3 小时前
PERL Docker 容器化部署指南
linux·运维·docker·容器·eureka·centos·perl
歪歪1004 小时前
解决多 Linux 客户端向 Windows 服务端的文件上传、持久化与生命周期管理问题
linux·运维·服务器·开发语言·前端·数据库·windows
snakecy4 小时前
系统时间更新
大数据·学习·docker·区块链