Docker WebサイトからDockerイメージを作成するための指示に従うことを試みています。
https://docs.docker.com/examples/running_redis_service/
これは私がドキュメント上の指示に従い、このDockerfileを使用して得られるエラーです
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'.
どのように解決しますか?
docker build -t mytag .
のようにドットを追加する必要があります。これはローカルディレクトリでDockerfileを使用することを意味します。また、docker 1.5を使用する場合は他の場所にDockerfileを指定できます。-f, --file="" Name of the Dockerfile(Default is 'Dockerfile' at context root)
Buildコマンドを他の場所(Webページまたは他のファイル)からコピーしましたか?最初から入力してみてください。
AWSチュートリアルからビルドコマンドをコピーして自分の端末に貼り付けたところ、このエラーが発生しました。それは私を夢中にさせた。手でそれを入力した後、それは働いた!よく見ると、以前の失敗したコマンドでは、「ダッシュ」文字が違うことに気付きました。「マイナス/ダッシュ」キーを使って自分で入力した場合よりも細くて長いダッシュ文字でした。
悪い:
Sudo docker build –t foo.
良い:
Sudo docker build -t foo.
違いがわかりますか?..カットアンドペーストは難しいです。
次のコマンドを使う
docker build -t mytag .
Mytagとdotの間にはスペースがあります。このドットは現在の作業ディレクトリを表します。
だから、例えば:
$ docker build -t <your username>/node-web-app .
少し隠れていますが、最後の.
に注目すると….
デフォルトでは、docker fileという名前のファイルとDockerfileという名前のファイルからdockerイメージを作成できます。それはあなたのdockerコンテナに必要なコマンド/命令のセットを持っています。下記のコマンドはタグ最新の画像を作成します、Dockerfileはその場所に存在するべきです(。は現在のディレクトリを意味します)
docker build . -t <image_name>:latest
ファイル名がデフォルトでない場合は、-fを使用してDockerfileを指定できます。(Dockerfile)Sameple Dockerファイルの内容。
FROM busybox
RUN echo "hello world"
私の場合、このエラーはGitlab CIパイプラインで複数のGitlab env変数をdocker build
フラグで--build-arg
に渡していたときに発生していました。
その結果、変数の1つにスペースが含まれていたため、エラーが発生していました。パイプラインログが$VARIABLE_NAME
を示しただけなので見つけるのは困難でした。
スペースが正しく処理されるように、必ず環境変数を引用符で囲んでください。
から変更する:
--build-arg VARIABLE_NAME=$VARIABLE_NAME
に:
--build-arg VARIABLE_NAME="$VARIABLE_NAME"
古いバージョンのDockerでは、この順序を使用する必要があるようです。
docker build -t tag .
ではなく
docker build . -t tag
PowerShellandを開いてこれらの指示に従ってください。このタイプのエラーは、Windows S.O.に典型的です。 コマンドbuildを使うときは、オプションとパスが必要です。
Dockerfileのパスを指定していないため、この種のエラーがあります。
これを試して:
C:\Users\Daniele\app> docker build -t friendlyhello C:\Users\Daniele\app\
タグを追加したい場合
C:\Users\Daniele\app> docker build -t friendlyhello:3.0 C:\Users\Daniele\app\
私の問題は、Dockerfile.txtをUnix実行可能ファイルに変換する必要があったことです。私がそれをしたら、そのエラーは消えました。
これを行う前に.txtの部分を削除する必要があるかもしれませんが、Macではターミナルに行き、Dockerfileがあるディレクトリにcdして、
chmod +x "Dockerfile"
そしてそれはあなたのファイルをUnixの実行可能ファイルに変換し、それはその後Docker buildコマンドで実行することができます。