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

相关推荐
java_logo15 小时前
Apache IoTDB Docker 容器化部署指南:从入门到生产环境实践
docker·容器·apache·iotdb·iotdb部署教程·iotdb部署文档·docker部署iotdb
_F_y15 小时前
Linux:多线程
linux·运维·服务器
处女座_三月15 小时前
kubectl 命令行更新项目版本号
docker·容器·kubernetes
Cat God 00716 小时前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
BullSmall16 小时前
集群-节点的概念
运维
vortex516 小时前
Linux 命令行入门:命令的构成与选项用法
linux·运维·服务器
m0_4746067816 小时前
Linux安装docker教程
linux·运维·docker
落霞的思绪17 小时前
Mybatis读取PostGIS生成矢量瓦片实现大数据量图层的“快显”
linux·运维·mybatis·gis
像风一样的男人@17 小时前
linux --防火墙
linux·运维·服务器
Jewel Q17 小时前
QEMU、KVM、Docker、K8s(Kubernetes)
docker·容器·kubernetes