web-dev-qa-db-fra.com

Échec de la création du runtime OCI: container_linux.go: 296 - aucun fichier ou répertoire de ce type

Fin de mon Dockerfile:

ENTRYPOINT ["ls /etc"]

Terminal:

...Rest of the building  above is fine
Step 8/8 : ENTRYPOINT ["ls /etc"]
 ---> Using cache
 ---> ea1f33b8ab22
Successfully built ea1f33b8ab22
Successfully tagged redis:latest
k@Karls ~/dev/docker_redis (master) $ docker run -d -p 6379:6379 --name red redis
71d75058b94f088ef872b08a115bc12cece288b53fe26d67960fe139953ed5c4
docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"ls /etc\": stat ls /etc: no such file or directory": unknown.

Pour une raison quelconque, il ne trouvera pas le répertoire /etc. J'ai fait un pwd et le répertoire de travail actuel est /. J'ai aussi fait un ls / sur le point d'entrée et qui affichait le /etc répertoire très bien.

10
Karl Morrison

Échec de la création du runtime OCI: container_linux.go: 296

D'après mon expérience, il s'agit d'une erreur avec le démon docker lui-même, pas avec le conteneur que vous essayez d'exécuter. Essayez de supprimer tous les conteneurs, en redémarrant le démon. Je pense que nous avons également dû nettoyer les réseaux de dockers.

7
ZeissS

Il me semble que j'ai le même problème. Voici ce que je fais.

Dockerfile

FROM gcc:7.2.0
COPY  src/ /usr/src/myapp
WORKDIR /usr/src/myapp
RUN set -x gcc -o myapp main.c
CMD ["./myapp"]

Construire

$ docker build -t test .
Sending build context to Docker daemon  3.584kB
Step 1/6 : FROM gcc:7.2.0
...
 ---> 3ec35c7d2396
Successfully built 3ec35c7d2396
Successfully tagged test:latest
SECURITY WARNING: You are building a Docker image from Windows against a 
non-Windows Docker Host. All files and directories added to build context 
will have '-rwxr-xr-x' permissions. It is recommended to double check and 
reset permissions for sensitive files and directories.

Courir

$ docker run -it test
D:\Docker Toolbox\docker.exe: Error response from daemon: OCI runtime create 
failed: container_linux.go:296: starting container process caused "exec: 
\"./myapp\": stat ./myapp: no such file or directory": unknown.

Changé CMD en ENTRYPOINT et supprimé l'ensemble -x semblait résoudre le problème. Bien que nous ne sachions toujours pas quelle était la cause ou si cela fonctionnera également pour vous. Assurez-vous que/etc existe ou est créé car le fichier main.c n'était pas en cours de compilation.

Dockerfile

FROM gcc:7.2.0
COPY  src/ /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
ENTRYPOINT ["./myapp"]
3
user1522263

Sur OSX, je l'ai corrigé en effaçant manuellement les données de volume. Fermez Docker et supprimez tout dans ~/Library/Containers/com.docker.docker

2
nikk wong

J'ai rencontré le même problème après la mise à jour de mes informations d'identification Windows, essayez ce qui suit: Paramètres Docker> Lecteurs partagés> Réinitialiser les informations d'identification> Sélectionner à nouveau les lecteurs> Appliquer et ressaisir vos informations d'identification. Cela a résolu le problème plusieurs fois pour moi

1
medo