This post was originally written by Markus Eisele in his blog: http://blog.eisele.net/2015/10/openshift-quick-tip-port-forwarding.html

origin Just a short tip today, but I was playing around with the all-in-one vm from the OpenShift team and wanted to use the port-forwarding feature for a quick check of a running database. You can use the CLI to forward one or more local ports to a pod. This allows you to listen on a given or random port locally, and have data forwarded to and from given ports in the pod.

 

But whenever I tried to execute:

<code>oc port-forward mysql-2-zjx6u 3306:3306</code>

It looked like it worked until the very first time I tried to use the tunnel:

I1020 11:38:54.754799 8356 portforward.go:227] Forwarding from 127.0.0.1:3306 -> 3306
I1020 11:38:54.757299 8356 portforward.go:227] Forwarding from [::1]:3306 -> 3306
I1020 11:39:10.824839 8356 portforward.go:253] Handling connection for 3306
E1020 11:39:10.833340 8356 portforward.go:312] An error occurred forwarding 3306 -> 3306: Error forwarding port 3306 to pod mysql-2-zjx6u_myfear, uid : Unable to do port forwarding: socat not found.

 

Turns out, that the needed socat package isn't installed on the all-in-one-vm. In order to fix that, you have to ssh into the instance:

<code>vagrant ssh</code>

 

And install socat:

<code>sudo /bin/yum install socat</code>

 

After that you're able to use the tunnel and forward ports to your OpenShift pod.

Further Information:

Author

Markus Eisele
Developer Advocate
JBoss Middleware at Red Hat

@myfear
http://blog.eisele.net/


About the author

Markus Eisele is a Red Hat Developer Tools Marketing Lead at Red Hat. He is also a JavaTM Champion, former Java EE Expert Group member, founder of German JavaLand and a speaker at Java conferences around the world.

Read full bio