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

相关推荐
CCPC不拿奖不改名6 小时前
虚拟机基础:在VMware WorkStation上安装Linux为容器化部署打基础
linux·运维·服务器·人工智能·milvus·知识库搭建·容器化部署
fjh19977 小时前
记一次奇怪的ssh公钥登录失败的情况
运维·ssh
dinga1985102610 小时前
linux上redis升级
linux·运维·redis
一条闲鱼_mytube10 小时前
Kubernetes Operator 原理与实践:从入门到实战
云原生·容器·kubernetes
匀泪10 小时前
云原生(nginx实验(2))
运维·nginx·云原生
RisunJan11 小时前
Linux命令-ltrace(用来跟踪进程调用库函数的情况)
linux·运维·服务器
c***032311 小时前
linux centos8 安装redis 卸载redis
linux·运维·redis
DeeplyMind11 小时前
第6章 Docker镜像基础操作
运维·docker·容器
柏木乃一11 小时前
Linux进程信号(2):信号产生part2
linux·运维·服务器·c++·信号处理·信号·异常
马丁的代码日记11 小时前
Docker 无法拉取镜像的解决方案
运维·docker·容器