一、已用statefulset创了两个nginx副本 web-0 和 web-1 ,目的将各自容器的hostname重定向到index.html。但显示的是master节点的hostname。
怎么写才是搞成 pod里面的主机名?
#最终解决方法: 在sh -c 双引号里$符号前面加上\转义。 或者 sh -c 单引号
#docker exec -it 20c319120b8b /bin/sh -c "hostname"
#docker exec -it 20c319120b8b /bin/sh -c 'hostname'
docker exec -it 20c319120b8b /bin/sh -c 'echo $(hostname)'
#docker exec -it 20c319120b8b /bin/sh -c "echo $(hostname)"
docker exec -it 20c319120b8b /bin/sh -c "echo \$(hostname)"
感觉这里又扯回了shell里面单引号,双引号的知识点了。以前的文章有记录过。
但为啥使用双引号会用到master节点的变量呢。
#一些讨论过程:chatgpt
直接写 sh -c 'hostname'是可查看pod里面的hostname的。 但此次要配合echo重定向hostname到index.htm。