Hey Nick, Thanks for those details! I will try this right away.
Going forward though, how do you suggest to communicate the external IP address from the custom runtime (B) to the Golang runtime A? B is a dependency which is based off a public docker container. Are you suggesting to add the curl command to the initialization of B and write the output of it to a shared location e.g. Memcache/Datastore? If at all possible I would like to determine the IP address of B from A. It is a lot easier for me to change A or customize it's behaviour. Whereas I want B to stay very simple - a parameterized public docker image. Thanks, Ingo On Monday, May 16, 2016 at 1:50:51 PM UTC-7, Nick (Cloud Platform Support) wrote: > > Hey Ingo, > > Custom runtimes can listen on any port specified in the app.yaml > <https://cloud.google.com/appengine/docs/flexible/custom-runtimes/configuring-your-app-with-app-yaml#network_settings> > just > like a regular Compute Engine instance, although these connections can't > bee made through the appid.appspot.com domain or custom domains routing. > You'll need to connect to the IP of the instance itself to be able to > connect on a non-8080 port via something other than HTTP. The instance can > hit the Compute Engine Metadata API > <https://cloud.google.com/compute/docs/metadata> to determine its > external IP address like this: > > curl -H "Metadata-Flavor: Google" > http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/externa > l-ip > As for health checks, you don't want to disable those, as that's vital to > ensuring your app serves properly > <https://cloud.google.com/appengine/docs/flexible/go/how-instances-are-managed#health_checking> > . > > I hope this answer was helpful! > > Sincerely, > > Nick > Cloud Platform Community Support > > On Monday, May 16, 2016 at 12:39:48 AM UTC-4, ingo wrote: >> >> Hey Nick/Stephen, >> >> Thank you very much for your responses! >> >> I looked at Stephen's suggestion and created a new service/module within >> my GAE app that runs the docker-dd-agent Docker image. I updated my project >> on >> Github >> <https://github.com/ingojaeckel/weather-wear/tree/master/modules/docker-dd-agent> >> >> accordingly. Now my app consists of two modules: >> * A: The default service which acts as the HTTP(S) front-end. This is a >> Golang app running within the flexible environment. >> * B: A separate docker-dd-agent service based on a custom Dockerfile >> <https://github.com/ingojaeckel/weather-wear/blob/master/modules/docker-dd-agent/Dockerfile>. >> >> This service is not accessible via HTTP. >> >> Now I want that my *default service (A) can communicate with the custom >> runtime (B) over TCP* (port 8125 in this case). But after reading >> https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build#listen_to_port_8080 >> >> I am *not sure if custom runtimes are supported if they do not provide >> HTTP access*. I disabled the (HTTP based) health check in B via app.yaml >> <https://github.com/ingojaeckel/weather-wear/blob/master/modules/docker-dd-agent/app.yaml>. >> >> But is this enough to allow communication from A to B? >> >> Thanks, >> Ingo >> >> On Thursday, May 12, 2016 at 11:40:53 AM UTC-7, Stephen wrote: >>> >>> On Wed, May 11, 2016 at 3:55 AM, ingo <[email protected]> wrote: >>> > >>> > But I want to run >>> > publicly hosted Docker images alongside it (e.g. this one). I am >>> looking for >>> > a way to run those multi-Docker instances still within GAE to take >>> advantage >>> > of high level of abstraction. And if possible I want to avoid having >>> to >>> > integrate with a Docker Registry. >>> >>> >>> Deploy your custom docker image as a new service (module). You can >>> have up to 20 services: >>> >>> >>> https://cloud.google.com/appengine/docs/flexible/go/an-overview-of-app-engine >>> >>> >>> Leave your existing code deployed as it is, running as the 'default' >>> service. >>> >> -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/16944365-d76f-4741-b4be-012f719b9f16%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
