<p>I've successfully uploaded a docker image of my app to GCR, made a GCE instance out of it, enabled http forwarding, and after SSH'ing into the GCE instance did a 
'docker pull ' + 'docker run -d -p 8888:8888 '
but I am not able to access the app via the external IP + the port (8888). 
So then I tried SSHing into the GCE instance, and running 
'docker exec -it  curl -v <a href="http://localhost:8080/healthCheck" rel="nofollow noreferrer">http://localhost:8080/healthCheck</a>' 
and I am able to access my app. </p>

<p>I've tried SSHing into my GCE instance and running 'docker exec -it  curl -v <a href="http://localhost:8080/healthCheck" rel="nofollow noreferrer">http://localhost:8080/healthCheck</a>' so I know that the app is running fine, it's just missing something that maps it to the external IP? I've also added the firewall rules (both 8888 and 8080) and I see they're mapped to the GCE instance.</p>

<p>Expected: Once I run 'docker run -d -p 8888:8888 ' from SSHing into the GCE instance, the app should be accessible by using the GCE instance's ExternalIP + port as well.
Actual: Getting 'site can't be reached' in browser and an empty reply when using curl.</p>

P_equals_NP_2021
<p>I think that your docker command is wrong. It should be 'docker run -d -p 8888:8080 ' because the -p flag state that the first number is going to be the host port and the second the container port[1]. Per you curl command being successful, your container is listening in the 8080 port.</p>

<p>You application should now work with '<a href="http://[external" rel="nofollow noreferrer">http://[external</a> IP]:8888/healthCheck' or https, don't know if you are using SSL/TLS.</p>

<p>[1] <a href="https://docs.docker.com/engine/reference/run/#expose-incoming-ports" rel="nofollow noreferrer">https://docs.docker.com/engine/reference/run/#expose-incoming-ports</a></p>
