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

相关推荐
小码吃趴菜2 小时前
服务器预约系统linux小项目-第六节课
运维·服务器
爱学习的程序媛2 小时前
WSL2:Windows上运行Linux的完整指南
linux·运维·windows·ubuntu·wsl2
会飞的大可2 小时前
Jenkins 企业级集成实战:从规划到落地的完整指南
运维·jenkins
Are_You_Okkk_2 小时前
AI开源知识库跨部门闭环搭建,效率提升40%
大数据·运维·人工智能·架构·开源
AIminminHu2 小时前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-2-(3)-当你的协同CAD服务器面临“千人同屏”时:从单机优化到分布式高并发)
运维·服务器·分布式
俗世慵人2 小时前
docker随笔
docker·容器·eureka
舰长1152 小时前
Diffie-Hellman Key Agreement Protocol 资源管理错误漏洞(CVE-2022-40735)【原理扫描】openssl升级
运维·服务器
xxjj998a2 小时前
若依部署Nginx和Tomcat
运维·nginx·tomcat
kyle~3 小时前
Linux---nmcli (NetworkManager服务的核心命令行工具)
linux·运维·php
不愿透露姓名的大鹏3 小时前
VMware vcenter报错no healthy upstream
linux·运维·服务器·vmware