GithubHelp home page GithubHelp logo

Comments (3)

ahmetb avatar ahmetb commented on June 8, 2024

@alinamstanciu this is mostly because we directly invoke docker-compose binary, which prints arbitrary output instead of a structured one. I believe we should not rely on their output format and try to parse out something meaningful.

Here is a failure:

Pulling sleep (busyboxs:latest)...
Error: image library/busyboxs not found

Here is another:

Validation failed in file '/etc/docker/compose/docker-compose.yml', reason(s):
Unsupported config option for 'sleep' service: 'commands'

As you see, totally unstructured.

Would a better error message such as docker-compose failed with exit code 1, check out /var/log/.../docker-extension.log be more helpful to you?

from azure-docker-extension.

vishwam avatar vishwam commented on June 8, 2024

Would it be possible to just pass-through the stderr contents when the exit code is not 0? Otherwise, the error message you suggested is good as well.
(Also, since docker-compose can be flakey at times, could you add some logic to retry docker-compose a second time in case of failure?)

from azure-docker-extension.

ahmetb avatar ahmetb commented on June 8, 2024

@vishwam For now I just added the path of the log file that contains the docker-compose error to the error message that goes to the portal. This is effective in v1.1.1606092330

I have some concerns about adding retries as re-running docker-compose up has certain semantics about already running containers. Also, adding retries here would increase end-to-end execution time of the extension and if the containers cannot be pulled again on the second retry, it doesn't exactly make things any better. So I'm not quite sure how many retries with what kind of backoff strategy we need here.

Feel free to open another issue if not having retries in docker-compose up really impacts you.

from azure-docker-extension.

Related Issues (20)

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.