往docker容器中传命令参数

avatar 2020年6月23日18:26:06 评论 1,535 次浏览

在kubernetes环境中,docker容器运行的参数一般都是字符串,有时需要在启动项目的时候需要加一个参数,这个参数时容器启动后获取的是容器中的参数,这种参数如果我们传命令进去就会在本地执行,然后把本地执行后的结果传递到容器中,这样的结果就是所有的容器传递的参数都时一样的。这种环境我们这里的环境是pinpoint的agentid的参数,我们是这样修改的,在传递参数的时候传递的是一个字符串,并不会在本地执行。例如:

inpointId='`hostname | cut -d \- -f 5`'

这里获取的是容器的计算机名使用"-"分割的第五列的字符,这里inpointId的值就是一个字符串,并不会执行`hostname | cut -d \- -f 5`的结果,当$inpointId传递到容器中时,inpointId的变量变为`hostname | cut -d \- -f 5`,是一个系统命令。

这里的测试是往镜像中传递上面的变量,然后调用这个变量,变量的值就是命令的结果,这里就不测试了,比较简单。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: