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

相关推荐
罗不丢几秒前
docker镜像配置
运维·docker·容器
杰克逊的日记4 分钟前
k8s某pod节点资源使用率过高,如何调整
linux·docker·kubernetes
库库的里昂6 分钟前
开源设计和原型创作平台Penpot本地docker部署与远程在线协作
docker·容器·开源
想唱rap7 分钟前
Linux下进程的控制
linux·运维·服务器·c++·算法
徐徐图之!13 分钟前
三、【阶段一运维基础】
linux·运维
Logic10117 分钟前
《数据库运维》 郭文明 实验2 MySQL数据库对象管理核心操作与思路解析
运维·数据库·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
初心_202418 分钟前
11. 嵌入式Linux防火墙nftables的使用
linux·运维·服务器
脏脏a2 小时前
【Linux】进程调度算法、进程切换、环境变量
linux·运维·服务器
暴风游侠4 小时前
linux知识点-内核参数相关
linux·运维·服务器·笔记
w_t_y_y7 小时前
Nginx Plus
运维·数据库·nginx