web-dev-qa-db-fra.com

docker: "build" nécessite 1 argument. Voir 'construction docker --help'

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?

159
Tampa

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)

352
user2915097

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.

20
Michael Peterson

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.

10
arunprakashpj


Vous avez besoin d'un DOT à la fin ...


Donc par exemple: 

$ docker build -t <your username>/node-web-app .

C'est un peu caché, mais si vous faites attention au . à la fin ...

5
Alireza

 enter image description here Fournissez simplement un point (.) À la fin de la commande, y compris un espace. 

exemple: 

commande: docker build -t "clignotement: v1".

Ici vous pouvez voir "clignotement: v1" puis un espace puis un point (.) 

C'est tout.

5
Harunduet

Sur les anciennes versions de Docker, il semble que vous deviez utiliser cet ordre:

docker build -t tag .

et pas

docker build . -t tag

1
Ryan R

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\
  1. friendlyhello est le nom que vous attribuez à votre conteiner
  2. C:\Users\Daniele\app\est le chemin qui contient votre fichier Dockerfile

si vous voulez ajouter un tag

C:\Users\Daniele\app> docker build -t friendlyhello:3.0 C:\Users\Daniele\app\
0
daniele3004

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"
0
Vaseem007

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.

0
SlickRemix

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"
0
spencer.sm