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

相关推荐
Ares-Wang5 小时前
Linux》》systemd 、service、systemctl daemon-reload、systemctl restart docker
linux·运维·docker
安审若无7 小时前
运维知识框架
运维·服务器
苏渡苇8 小时前
Docker 网络完全指南
网络·docker·容器·docker容器·容器通信
风向决定发型丶9 小时前
K8S CPU绑核详解
云原生·容器·kubernetes
Arvin62710 小时前
Nginx 添加账号密码访问验证
运维·服务器·nginx
风曦Kisaki10 小时前
# Linux 磁盘查看命令详解:df 与 du
linux·运维·网络
斯普信云原生组10 小时前
Docker 开源软件应急处理方案及操作手册——镜像管理与构建故障
docker·容器·eureka
攻城狮在此10 小时前
华为交换机Console口密码如何清除
运维·网络·华为
内心的一片海11 小时前
服务器内存异常占用
运维·服务器
亚空间仓鼠12 小时前
OpenEuler系统常用服务(四)
linux·运维·服务器·网络