Essayez de suivre les instructions pour créer une image de menu fixe à partir du site Web de menu fixe.
https://docs.docker.com/examples/running_redis_service/
c’est l’erreur que j’obtiens en suivant les instructions du document et en utilisant ce fichier Docker
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
Sudo docker build -t myrepo/redis
docker: "build" requires 1 argument. See 'docker build --help'.
Comment résoudre?
Vous devez ajouter un point, exemple docker build -t mytag .
, cela signifie que vous utilisez le fichier Docker dans le répertoire local. Si vous utilisez Docker 1.5, vous pouvez spécifier un fichier Dockerfile ailleurs, extrayez-vous de l'aide de docker build -f, --file="" Name of the Dockerfile(Default is 'Dockerfile' at context root)
Avez-vous copié la commande de compilation ailleurs (page Web ou autre fichier)? Essayez de le saisir à partir de zéro.
J'ai copié une commande de construction à partir d'un didacticiel AWS et l'ai collée dans mon terminal. Cette erreur s'est produite. Cela me rendait fou. Après avoir tapé à la main, cela a fonctionné! En regardant de plus près et mes précédentes commandes ayant échoué, j'ai remarqué que le caractère "tiret" était différent, c'était un caractère plus fin et plus long que si je l'avais tapé moi-même en utilisant la touche "moins/tiret".
Mal:
Sudo docker build –t foo.
Bien:
Sudo docker build -t foo.
Pouvez-vous voir la différence? .. Couper et coller est difficile.
Utilisez la commande suivante
docker build -t mytag .
Notez que mytag et dot ont un espace entre eux. Ce point représente le répertoire de travail actuel.
Donc par exemple:
$ docker build -t <your username>/node-web-app .
C'est un peu caché, mais si vous faites attention au .
à la fin ...
Sur les anciennes versions de Docker, il semble que vous deviez utiliser cet ordre:
docker build -t tag .
et pas
docker build . -t tag
Ouvrez PowerShelland et suivez ces instructions. Ce type d'erreur est typiquement dans Windows S.O . Lorsque vous utilisez la commande build, vous avez besoin d'une option et d'un chemin
Il y a ce type d'erreur car vous n'avez pas spécifié de chemin avec votre fichier Docker.
Essaye ça:
C:\Users\Daniele\app> docker build -t friendlyhello C:\Users\Daniele\app\
si vous voulez ajouter un tag
C:\Users\Daniele\app> docker build -t friendlyhello:3.0 C:\Users\Daniele\app\
Vous pouvez créer une image de menu fixe à partir d'un fichier appelé fichier de menu et nommé Dockerfile par défaut. Il contient un ensemble de commandes/instructions dont vous avez besoin dans votre conteneur de menu fixe . La commande ci-dessous crée une image avec la dernière balise.
docker build . -t <image_name>:latest
Vous pouvez spécifier le fichier Docker via -f si le nom du fichier n’est pas défini par défaut (fichier Docker).
FROM busybox
RUN echo "hello world"
Mon problème était que le fichier Dockerfile.txt devait être converti en un fichier exécutable Unix. Une fois que j'ai fait que cette erreur est partie.
Vous devrez peut-être supprimer la partie .txt avant de faire cela, mais sur un Mac, allez au terminal et allez dans le répertoire où se trouve votre fichier Docker et le type
chmod +x "Dockerfile"
Ensuite, votre fichier sera converti en un fichier exécutable Unix pouvant être exécuté à l’aide de la commande Docker Build.
Dans mon cas, cette erreur se produisait dans un pipeline Gitlab CI lorsque je transmettais plusieurs variables d'environnement Gitlab à docker build
avec des indicateurs --build-arg
.
Il s'avère que l'une des variables avait un espace qui était à l'origine de l'erreur. Il était difficile à trouver car les journaux de pipeline ne montraient que le $VARIABLE_NAME
.
Assurez-vous de citer les variables d’environnement afin que les espaces soient gérés correctement.
Changer de:
--build-arg VARIABLE_NAME=$VARIABLE_NAME
à:
--build-arg VARIABLE_NAME="$VARIABLE_NAME"