在kubernetes环境中,docker容器运行的参数一般都是字符串,有时需要在启动项目的时候需要加一个参数,这个参数时容器启动后获取的是容器中的参数,这种参数如果我们传命令进去就会在本地执行,然后把本地执行后的结果传递到容器中,这样的结果就是所有的容器传递的参数都时一样的。这种环境我们这里的环境是pinpoint的agentid的参数,我们是这样修改的,在传递参数的时候传递的是一个字符串,并不会在本地执行。例如:
inpointId='`hostname | cut -d \- -f 5`'
这里获取的是容器的计算机名使用"-"分割的第五列的字符,这里inpointId的值就是一个字符串,并不会执行`hostname | cut -d \- -f 5`的结果,当$inpointId传递到容器中时,inpointId的变量变为`hostname | cut -d \- -f 5`,是一个系统命令。
这里的测试是往镜像中传递上面的变量,然后调用这个变量,变量的值就是命令的结果,这里就不测试了,比较简单。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏