Code Monkey home page Code Monkey logo

Comments (5)

mreferre avatar mreferre commented on July 19, 2024 1

Mh... now that you mention that I think I remember seeing people having troubles with misconfigured VPC (especially around DNS settings etc because Service Discovery relies on that). Please note that if you create a brand new VPC you'd need to add a parameter to the compose file so that docker uses that VPC instead of the default one.

Use x-aws-vpc as a top-level element in your Compose file to set the ARN of a VPC when deploying a Compose application

From: https://docs.docker.com/cloud/ecs-integration/

from yelb.

mreferre avatar mreferre commented on July 19, 2024

Hi @chingc thanks for reaching out. Yes I can confirm that that the UI would fail with that error message if yelb-appserver is not found (whether because it's not yet up or service discovery is broken somehow). In theory the depends-on would not be required because the ui is started as an ECS service so the container would be restarted indefinitely (and if service discovery works it will eventually find yelb-appserver and will stabilize). I will test it again and report my findings.

In the meanwhile, can you confirm that you can bring up the app locally (in the local docker context)? Also, can you paste the output of docker version?

from yelb.

mreferre avatar mreferre commented on July 19, 2024

I have tried to recreate the issue but I failed at it. I cloned the repo locally and tried to compose it up with both the local context and an ECS context and both worked as usual.

This is the version of Docker Desktop for Mac I am using (I don't think this matters much because the app was working in the very early versions as well)

Client:
 Cloud integration: v1.0.22
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:46:56 2021
 OS/Arch:           darwin/amd64
 Context:           myecscontext
 Experimental:      true

Server: Docker Desktop 4.5.0 (74594)
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:56 2021
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

When you deploy to ECS does the UI task look anything like this? This is how it should look like (one running and one stopped). The stopped one is important because it's the helper that configures Service Discovery at bootstrap.

image

Which region are you running this in?

from yelb.

chingc avatar chingc commented on July 19, 2024

@mreferre Hi thanks for looking into this. Here's my docker version:

Client:
 Cloud integration: v1.0.22
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:46:56 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.5.0 (74594)
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

I played around with it locally before trying ECS so the local context works perfectly.

When I deploy it to ECS it does indeed look like the screenshot you provided. For me, the yelb-ui will go from Running to Stopped due to that error. I am running in the us-east-1 region.

One thing I forgot to mention is that I'm testing this under my org's AWS account and had to create a separate VPC for testing purposes because I ran into issues with the subnets on our default VPC (something about mixing public and private subnets). This also required that I make new subnets and an internet gateway. It's possible that I misconfigured something along the way.

You mentioned that the ECS container would restart indefinitely and that it will eventually find the appserver. I thought this would be the case but it doesn't seem to be restarting after the initial failure. Perhaps I just wasn't patient enough?

I also tried to explicitly set the restart_policy in the docker-compose file but when I run docker compose up it tells me ECS doesn't support that attribute.

When I get a chance I will try again and wait longer to see if it restarts. Thanks again for looking into this.

from yelb.

mreferre avatar mreferre commented on July 19, 2024

I am closing this. Let me know if you need more help.

from yelb.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.