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

相关推荐
Harvy_没救了1 小时前
【网络运维】 WordPress 部署复盘
运维·网络
weixin_402278451 小时前
VS code 本地推送github添加SSH设置
运维·git·ssh
fish_xk1 小时前
Linux的权限
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志2 小时前
Linux 驱动与应用开发核心自测题库(面试官问答完整版)
linux·运维·php
eastyuxiao4 小时前
企业 OpenClaw 文档自动化落地项目 - 思维导图范围拆解
运维·自动化
Sirens.4 小时前
Umami:从Cloud迁移到服务器
运维·服务器
zhangfeng11334 小时前
CI/CD 是软件开发中的两个核心实践,合起来指代一套自动化的软件交付流程
运维·ci/cd·自动化
嵌入式×边缘AI:打怪升级日志4 小时前
Tina SDK Linux Kernel 基本使用(实战篇:为7寸RGB LCD触摸屏添加驱动支持).md
linux·运维·服务器
十 一 丶5 小时前
如何在客户端实现ssh的免密登录?
运维·rust·ssh
G.晴天5 小时前
Linux常用命令练习流程
java·linux·运维·服务器·tomcat