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

相关推荐
想做小南娘,发现自己是女生喵16 分钟前
Linux之Ubuntu入门篇知识总结
linux·运维·服务器
帷幕落秋1 小时前
Redis哨兵模式
运维·数据库
吴声子夜歌2 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
帷幕落秋2 小时前
Redis主从复制
运维·数据库
帷幕落秋2 小时前
Mysql主从复制
运维·数据库
暖核2 小时前
MySQL 高级运维核心:备份恢复、主从复制与 MHA 高可用复习总结
运维·数据库·mysql
jackletter3 小时前
linux:systemd之守护进程
linux·运维·服务器·systemd
Ruiery4 小时前
Linux 6.6内核 CPU 深度解析(五):CPU 空闲状态机 cpuidle
linux·运维·服务器
XS0301064 小时前
Nginx 学习指南
运维·nginx
Lsetea4 小时前
OpenSSL verify报invalid CA certificate:basicConstraints与keyCertSign排查
运维·https·ssl证书·openssl·证书链