Partage
  • Partager sur Facebook
  • Partager sur Twitter

Docker - ERROR : failed to solve

Créez votre premier Dockerfile

    19 novembre 2023 à 13:49:08

    Bonjour,

    Je suis le cours "Optimisez votre déploiement en créant des conteneurs avec Docker" et j'ai bloqué pendant un long moment au chapitre "Créez votre premier Dockerfile".

    Lorsque je build les instructions proposées dans le docker file j'ai les erreurs suivantes en fonction des modifications que je fais :

    ERROR: failed to solve: process "/bin/sh -c" did not complete successfully: exit code: 1
    ERROR: failed to solve: process "/bin/sh -c" did not complete successfully: exit code: 100
    ERROR: failed to solve: process "/bin/sh -c" did not complete successfully: exit code: 127

    J'ai modifié les versions de Debian pour être certain que la version dispose de dépôts.

    Egalement modifié la version de node.JS.

    https://github.com/nodesource/distributions

    En utilisant les dernières versions toujours le même problème :

    Debian 12 et node.JS 20x => Erreur

    Debian 9 et node.JS 16x => Erreur

    Debian 10 et node.JS 16x => Erreur

    En utilisant ces instructions : 

    FROM debian:11
    
    RUN apt-get update -yq \
        && apt-get install curl gnupg -yq \
        && curl -sL https://deb.nodesource.com/setup_10.x | bash \
        && apt-get install nodejs -yq \
        && apt-get clean -y
    
    ADD . /app/
    WORKDIR /app
    RUN npm install
    
    EXPOSE 2368
    VOLUME /app/logs
    
    CMD npm run start

    J'arrive enfin à dépasser les soucis concernant le 1er RUN.

    Mais le terminal me dit :

     > [5/5] RUN npm install:
    0.547 /bin/sh: 1: npm: not found

    Après quelques recherches je tombe sur une solution :

    FROM debian:11
    
    RUN apt-get update -yq \
        && apt-get install curl gnupg -yq \
        && curl -sL https://deb.nodesource.com/setup_10.x | bash \
        && apt-get install nodejs -yq \
        npm \
        && apt-get clean -y
    
    ADD . /app/
    WORKDIR /app
    RUN npm install
    
    EXPOSE 2368
    VOLUME /app/logs
    
    CMD npm run start


    D'après ce que j'ai lu, cela permet d'installer séparément npm lors de la création d'image.

    Même si je ne comprend pas ce que cela veut dire. 

    A noter que je souhaite utiliser ce cours pour une application web avec PHP/CodeIgniter. 

    Je n'ai aucune connaissance en JS.

    De plus je ne sais pas l'impact qu'aura cette modification pour le reste du cours. 

    Si l'un d'entre vous pourrait éclairer ma lanterne et en espérant que cela débloque également des personnes suivant le cours.


    _____________________

    Bonjour,

    Petit point du soir concernant ce soucis (Y) 

    J'ai poursuivis le cours tant bien que mal, puisque la solution proposé au dessus ne me permet pas de réaliser ce que le cours me demande.

    Arrivé au quizz n°2 je suis à nouveau bloqué et je tombe sur ce post forum :

    https://openclassrooms.com/forum/sujet/probleme-cours-docker-ac335

    Il semble donc que le soucis est connu et qu'une mise à jour du cours serait nécessaire. 

    J'ai pu néanmoins reprendre le point au dessus avec de nouvelles connaissances

    FROM debian:9
    
    RUN sed -i -e 's/deb.debian.org/archive.debian.org/g' \
        -e 's|security.debian.org|archive.debian.org/|g' \
        -e '/stretch-updates/d' /etc/apt/sources.list
    
    RUN apt-get update -yq \
        && apt-get install curl gnupg -yq \
        && curl -sL https://deb.nodesource.com/setup_10.x | bash \
        && apt-get install nodejs -yq \
        && apt-get clean -y
    
    ADD . /app/
    WORKDIR /app
    RUN npm install
    
    EXPOSE 2368
    VOLUME /app/logs
    
    CMD npm run start

    Ces instructions marchent et permettent de lancer l'image ghost sans erreurs ! 

    (erreur sqlite3 sinon, et impossible d'ouvrir le localhost:2368)

    Debian 9 est archivé ! Il faut changer les sources de dépôt pour pouvoir faire du update, upgrade.

    En espérant que cela aide :)

    -
    Edité par GreenBlind 19 novembre 2023 à 21:07:29

    • Partager sur Facebook
    • Partager sur Twitter
      7 décembre 2023 à 18:33:44

      Hello,

      De mon côté, j'ai eu à peu près les mêmes problèmes sur ce cours.

      Après plusieurs recherches, voici la solution que je propose concernant le Dockerfile, qui fait fonctionner le site Ghost :

      FROM debian:11
      
      RUN apt-get update -yq \
         && apt-get install curl gnupg -yq \
         && curl -sL https://deb.nodesource.com/setup_14.x | bash \
         && apt-get install nodejs -yq \
         && apt-get clean -y
      
      ADD . /app/
      WORKDIR /app
      RUN npm install
      
      EXPOSE 2368
      VOLUME /app/logs
      
      RUN npm install https://github.com/mapbox/node-sqlite3/tarball/master
      
      CMD npm run start
      


      Cdt,

      • Partager sur Facebook
      • Partager sur Twitter

      Docker - ERROR : failed to solve

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown