docker build
は、Dockerfileを実際のファイルにする必要があります。彼らは、標準入力によって渡される(.
またはカレントディレクトリ別名)のビルドコンテキストを許可しますが、この構文でDockerfileに合格しようとすると失敗します
docker build -f Dockerfile.temp .
:
あなたが別のファイル名を使用することができます
$ docker build -t test-no-df -f - . <<EOF
FROM busybox:latest
CMD echo just a test
EOF
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/bmitch/data/docker/test/-: no such file or directory
2017年5月5日の更新:ドッカーがちょうど含まれ、このPR #31236と17.05.0-CEをリリースしました。今度は上記のコマンドでイメージが作成されます:
$ docker build -t test-no-df -f - . <<EOF
FROM busybox:latest
CMD echo just a test
EOF
Sending build context to Docker daemon 23.34MB
Step 1/2 : FROM busybox:latest
---> 00f017a8c2a6
Step 2/2 : CMD echo just a test
---> Running in 45fde3938660
---> d6371335f982
Removing intermediate container 45fde3938660
Successfully built d6371335f982
Successfully tagged test-no-df:latest
CLIから一時的なDockerfileに行をエコーアウトできないのはなぜですか? – BMitch
私はそうすることを考えていましたが、できれば実際にファイルをシステムに書きたくないのです。私は 'cmd <(echo 'message')'という構文を試しましたが、Dockerfileのようなものが急増しているようです。 – samanime