#aptible

/

      • fancyremarker joined the channel
      • fancyremarker has quit
      • -- BotBot disconnected, possible missing messages --
      • -- BotBot disconnected, possible missing messages --
      • [0__0] joined the channel
      • fancyremarker joined the channel
      • WarrenL has quit
      • WarrenL joined the channel
      • fancyremarker1 joined the channel
      • fancyremarker is now known as Guest57991
      • Guest57991 has quit
      • fancyremarker1 is now known as fancyremarker
      • kshipley joined the channel
      • kshipley
        Hey guys -- I'm trying to deploy my first app to Aptible and the health check is timing out on me. It's a vanilla Rails app using the sample Dockerfile from the support docs.
      • Is there an additional port I need to open up or something?
      • fancyremarker
        hey there kshipley!
      • what was the error message in the build?
      • was it that the container failed to start or that it failed to respond within 300 seconds
      • kshipley
        300s
      • remote: ERROR -- : Health check failed for 300 seconds, aborting!
      • fancyremarker
        got it
      • so, in that case, it usually means that the app isn't listening on 0.0.0.0 the same port that's EXPOSEd in the Dockerfile
      • what's your app handle? I can review the specific case and DM you
      • kshipley
        I think that solved the health check -- just needed to bind that IP in my Procfile
      • fancyremarker
        ah, great — to 0.0.0.0 ?
      • kshipley
        Yeah (I actually just used unicorn, but I think I could've bound the IP as well)
      • fancyremarker
        yeah, we need to update those docs, between Rails 4.1.x and Rails 4.2.x, the default port binding switched from 0.0.0.0 to 127.0.0.1
      • kshipley
        One other question -- the sample Dockerfile had a CMD to run the rails server, but you're also reading the Procfile. I should only be starting the server in the Procfile, correct?
      • fancyremarker
        and we need the app to expose on 0.0.0.0 so that we can connect to the port from outside the app container
      • correct. whatever is in the Procfile overrides the CMD in the Dockerfile
      • the rationale is that most apps will have multiple services running off a single image (e.g., web, worker, ...), but Dockerfile only lets you specify 1 command
      • kshipley
        Right -- makes sense
      • Last question, then I'll leave you alone for a bit -- does the load balancer require port 80 to be exposed on my app? I left 3000 exposed but now realize I may need to change that.
      • fancyremarker
        i'm not sure i understand the question entirely — do you mean that you don't want to expose the app at all publicly?
      • kshipley
        Nevermind. I think I may have just copy-pasted wrong. Still coming up to speed on Docker a bit, so my debugging skills are a work in progress.
      • fancyremarker
        oh ok, no problem! happy to help here, and part of the challenge is that our docs are still getting up to speed. they'll improve a lot in the next few days
      • kshipley
        No worries. I'll pop my head in if I run into any trouble. Thanks!
      • kshipley has quit
      • wayne joined the channel
      • fancyremarker has quit