Comment faire pour installer gulp sur un menu fixe avec docker-composer
Je suis en utilisant le panneau de composer et c'est mon fichier yaml
web:
dockerfile: Dockerfile-dev
build: .
command: gulp
volumes:
- .:/app
ports:
- '9001:9001'
et voici mon menu fixe fichier
FROM node:0.12.7
RUN npm install -g bower gulp
ADD . /app
WORKDIR /app
RUN bower install --allow-root
Puis-je exécuter
docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up
Mais j'obtiens l'erreur suivante
Recreating web_web_1...
Attaching to web_web_1
web_1 | [07:39:08] Local gulp not found in /app
web_1 | [07:39:08] Try running: npm install gulp
web_web_1 exited with code 1
Gracefully stopping... (press Ctrl+C again to force)**strong text**
J'ai essayé d'ajouter la ligne RUN npm install gulp
avant et après WORKDIR /app
de l'avoir installé en local, mais j'obtiens la même erreur
Aider
- Je n'en sais rien avaler, mais votre Dockerfile devrait se terminer par un
CMD
ouENTRYPOINT
je pense, voir docs.docker.com/reference/builder/#cmd et docs.docker.com/reference/builder/#entrypoint
Vous devez vous connecter pour publier un commentaire.
Vous devez exécuter
npm install gulp
APRÈSWORKDIR /app
, de sorte que gulp est installé localement dansnode_modules/gulp
. Mais vous l'avez déjà fait cela et ayant la même erreur. C'est parce que dans votredocker-compose-dev.yml
, de montage d'un répertoire de l'hôte comme/app
volume à l'intérieur de conteneur docker. Si des modifications locales dans le répertoire /app est perdu lorsque vous exécutez le conteneur.Vous pouvez supprimer des volumes de
docker-compose-dev.yml
ou exécuternpm install gulp
dans la machine hôte.volumes
section le conteneur exécuter. Merci.Vous pouvez créer
startup.sh
(ou ce que vous avez besoin pour exécuter lorsque le conteneur des incendies), puis votre Dockerfile doit s'exécuter startup.sh
le script de démarrage sera exécuté APRÈS la dir est monté par docker-composer.
Je vous suggère aussi de monter node_modules dans le fichier temporaire du système de déclarer dans le menu fixe-composer.yml: