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

相关推荐
Wpa.wk12 小时前
Docker容器 - 了解Docker基础命令(容器+镜像命令)
运维·经验分享·测试工具·docker·容器
pzx_00113 小时前
【SSH连接错误】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
运维·网络·ssh
skywalk816313 小时前
阿里云FreeBSD系统升级cbsd:cbsd: 14.3.2 -> 15.0.0 [FreeBSD]
运维·服务器·freebsd
yangminlei13 小时前
IK分词器
运维·jenkins
半路_出家ren13 小时前
23.Python处理SSH和Redis
运维·网络·redis·python·网络安全·ssh·paramiko
步菲13 小时前
Windows系统安装Docker Desktop配置daemon.json不生效问题解决
windows·docker·容器
空空kkk13 小时前
Java项目从单体到微服务的演变
java·运维·微服务
我想发发发13 小时前
.deb格式软件包安装方式(Ubuntu 22.04为例)
linux·运维·ubuntu
cyber_两只龙宝14 小时前
LVS-NAT模式实验配置以及详解
linux·运维·云原生·lvs
海涛高软14 小时前
vmware虚拟机 ubuntu20.4手动设置静态IP
linux·运维·服务器