5
votes

ERREUR: impossible de localiser le Dockerfile spécifié: Dockerfile

Je lance ceci:

 FROM node:alpine

 WORKDIR '/app'

 COPY package.json .
 RUN npm install

 COPY . .

 CMD ["npm", "run", "start"]

Et j'obtiens l'erreur ci-dessus. Voici mon répertoire:

version: '3'
services: 
  web: 
    build:
      context: .
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    volumes:
      - /app/node_modules
      - .:/app

Voici mon fichier docker-compose.yml :

➜  frontend git:(master) ✗ ls
Dockerfile.dev     docker-compose.yml package.json       src
README.md          node_modules       public             yarn.lock

Est-ce un problème d'indentation? Je sais que YAML est drôle à ce sujet.

Voici mon Dockerfile.dev:

➜  frontend git:(master) ✗ docker-compose up
Building web
ERROR: Cannot locate specified Dockerfile: Dockerfile

Je suis la documentation: https://docs.docker.com/compose/compose-file/#context


3 commentaires

La syntaxe me semble juste. Essayez de citer le nom de votre fichier Docker: dockerfile: "Dockerfile.dev" et assurez-vous qu'il n'y a pas d'autres caractères étranges. Vérifiez que vous n'avez pas mélangé les onglets avec les espaces.


@BMitch, ce n'est pas que Docker ne reconnaît pas un Dockerfile.dev ?


la section dockerfile dans build est là pour construire un Dockerfile nommé différemment.


3 Réponses :


2
votes

Il semble que Dockerfile.dev n'est pas reconnu par Docker d'où le message:

ERREUR: Impossible de localiser le Dockerfile spécifié: Dockerfile

Il recherche un Dockerfile et non un Dockerfile.dev .

Lorsque j'ai essayé mv Dockerfile.dev Dockerfile , puis que j'ai exécuté docker-compose up , cela a fonctionné comme prévu.


2 commentaires

J'ai pu exécuter en utilisant votre contenu docker-compose.yml. Il peut s'agir d'un problème de version de docker. Voici les détails de ma version de docker-compose: version de docker-compose version de docker-compose 1.23.2, build 1110ad01 version de docker-py: 3.6.0 version de CPython: 3.6.6 version d'OpenSSL: OpenSSL 1.1.0h 27 mars 2018


J'ai eu ce problème; la mise à jour de docker l'a corrigé pour moi.



7
votes

Erreur :

ERREUR: Impossible de localiser le Dockerfile spécifié: Dockerfile

Explication: En bref, votre docker ne peut pas localiser le fichier docker qui est sensible à la casse, peut-être parce qu'il n'est pas écrit correctement (quelques mauvais exemples: DockerFile, dockerfile , Dockerfile.txt, .DockerFile etc ...). une autre option peut être liée à l'emplacement du fichier non dans le chemin correct.

Solution : Renommez le Dockerfile (l'orthographe correcte est Dockerfile ) et assurez-vous de l'exécuter à l'emplacement du projet.

Par exemple: p>

cd ~/<projectPath>
ls -la
#Relevant files Validation
#drwxr-xr-x  7 myUser  staff  224 Dec 18 11:38 ..
#-rw-r--r--  1 myUser  staff  312 Dec 18 11:40 Dockerfile
#-rw-r--r--  1 myUser  staff  224 Dec 18 11:38 app.py
docker build .


0 commentaires

0
votes

Cela se produit si vous mv ou copiez le fichier docker d'un autre emplacement. Essayez simplement de le renommer même s'il s'agit déjà de Dockerfile

mv Dockerfile Dockerfile


0 commentaires