Je suis nouveau dans Docker et j'essaie de créer une image. J'ai réussi à faire cela avec la commande de commit Docker, mais lorsque j'essaye de le faire avec Dockerfile, j'obtiens ces erreurs:
FROM debian:shim RUN apt-get update RUN apt-get install -y git RUN apt-get install -y vim
Le fichier Docker ressemble à ceci:
XXX
J'utilise Ubuntu DeskTop 18.04 Quelqu'un peut-il m'aider?
3 Réponses :
Il semble que votre Dockerfile
se trouve probablement dans / home / shim /
?
Lorsque vous effectuez docker build.
, docker va tarer le contenu du répertoire courant et l'envoyer au démon docker. Il semble que certains des fichiers de /home/shim/.ServiceHub
soient en fait des sockets, donc cette opération échoue.
La meilleure pratique consiste à avoir le Dockerfile dans son propre répertoire isolé pour éviter ce genre de choses.
Je vous suggère également de lire dockerfile_best-practices , en particulier le bit sur RUN
& apt-get
Bonjour, je suis également confronté aux mêmes problèmes et j'ai appris à en connaître la raison grâce à cette requête. Mon Dockerfile redémarre MySQL dans une étape et il crée un fichier appelé mysqld.sock qui est une erreur ci-dessus lors de la construction de l'image. Si tel est votre cas, vous pouvez ajouter le fichier .sock dans le dépôt lui-même, puis l'utiliser à partir de là.
Pour cet exemple particulier, vous ne devriez pas avoir Dockerfile
dans / home / shim
.
Dans le cas général d'un fichier socket ( * .sock
) dans votre projet, vous pouvez ajouter * .sock
à votre . dockerignore fichier.