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

相关推荐
绾樘6 小时前
RHCE--基于Nginx的Web服务器配置
运维·服务器·nginx
打工的小王6 小时前
docker(三)具体项目的部署
运维·docker·容器
有风听风有雨看雨8 小时前
【Critical】docker unauthorized 2375
docker·容器·eureka
一叶星殇9 小时前
.NET WebAPI:用 Nginx 还是 IIS 更好
运维·nginx·.net
LEEE@FPGA10 小时前
zynq 是不是有了设备树,再linux中不需要编写驱动也能控制
linux·运维·单片机
Trank-Lw10 小时前
Docker Devcontainer 管理命令
运维·docker·容器
RisunJan11 小时前
Linux命令-less(分页查看器)
linux·运维
赛希咨询11 小时前
人工智能自动化如何提高研究生产力
运维·人工智能·自动化
梁正雄11 小时前
linux服务-MariaDB 10.6 Galera Cluster+garbd
linux·运维·mariadb
heartbeat..11 小时前
Redis 哨兵模式:原理、配置与故障排查全解析
java·运维·数据库·redis