मैं इस आदेश के साथ एक डॉक कंटेनर द्वारा उपयोग किए जाने वाले सभी बंदरगाहों को प्राप्त करने की कोशिश कर रहा हूं:
sudo docker ps | tail -n1
29ba3137f3e2 java8/local:latest "/bin/bash" 3 hours ago Up 3 hours 0.0.0.0:8080->8080/tcp, 0.0.0.0:8443->8443/tcp, 0.0.0.0:32783->5432/tcp, 0.0.0.0:32782->10523/tcp DEMO-20151118124751
जब मैंने इसे टर्मिनल में चलाया तो मुझे वह मिल गया जो मैं चाहता हूं।
$ sudo docker ps | tail -n1 | awk '{print $12}'
0.0.0.0:32783->5432/tcp,
लेकिन मुझे सभी मैप किए गए पोर्ट चाहिए। क्या इस तरह से शेल स्क्रिप्ट बनाना संभव है:
#!/bin/bash
paramnum=$(sudo docker ps | grep $lasttimestamp | wc -w);
text=$(sudo docker ps | tail -n1);
begin=($paramnum-4);
end=($paramnum-1);
for (( i=$end; i>=$begin; i--))
do
t="awk '{print $"$i"}'";
eval "echo $text | $t";
done
मैं कुछ घंटों से चक्कर काट रहा हूं। कृपया मदद करें, या सुझाव दें कि नीचे जैसा आउटपुट कैसे प्राप्त करें।
0.0.0.0:32782->10523/tcp
0.0.0.0:32783->5432/tcp,
0.0.0.0:8443->8443/tcp,
0.0.0.0:8080->8080/tcp,