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

相关推荐
Yxrrr__1 小时前
Linux系统常用命令
linux·运维·服务器
howard20051 小时前
宿主机和虚拟机访问Docker容器里的MySQL
mysql·docker·虚拟机·宿主机
百***06011 小时前
Linux下PostgreSQL-12.0安装部署详细步骤
linux·运维·postgresql
c++逐梦人1 小时前
Linux下编写进度条小程序
linux·运维·小程序
企鹅侠客1 小时前
Kubernetes-node资源预留
云原生·容器·kubernetes
求知若渴,虚心若愚。2 小时前
traefik 启用并指定根证书*.cer
linux·运维·服务器
n***27192 小时前
SQL Server 中行转列
运维·服务器
q***82912 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
Claudedy2 小时前
Linux 网络代理指南:解决下载慢、访问受限的开发痛点
linux·运维·网络·代理·proxy代理
q***14642 小时前
RustDesk搭建公网中继服务器远控内网机器(完整版)
运维·服务器