我一直在进行#34; docker build"正好需要1个参数错误

时间:2016-12-20 19:58:39

标签: asp.net powershell docker dockerfile

首先,我想跟随这个guide

到目前为止,我已经启动并运行了主机,但我仍然坚持这一点。我已经安装了windowsservercore映像,然后安装了IIS映像并将其标记为“windowsserveriis'”。现在我需要安装ASP.NET 4.5,并使用以下命令

  

docker build -t windowsserveriisaspnet。

我应该补充一点,我为Docker镜像创建了一个文件夹。所以我有一个C:\ dev \ TestProject \ DockerImages和每个Dockerfile的一个文件夹。现在,我对此有点不确定,因为指南从未提及如何实际创建文件,所以我认为我将它们分开只是为了安全(并且还能够将它们命名为' Dockerfile& #39;避免混淆)。

无论如何,上面的命令打印出以下错误消息:

  

docker:" docker build"只需要1个参数。

     

在行:1字符:1

     

docker build -t windowsserveriisaspnet。

我的Dockerfile如下所示:

  

FROM windowsserveriis

     

运行dism / online / enable-feature / featurename:IIS-ASPNET45

我最初的想法是,我最后忘了点,但事实并非如此。我也尝试用' - file =" DockerfileASPNET"'替换点。 (我重命名了文件)。然而似乎没有任何效果。

那么,我错过了什么?提前谢谢..

8 个答案:

答案 0 :(得分:3)

Docker构建需要docker文件。

注意 :您必须提供存储已构建的docker镜像文件的URL或路径。您错过了提供网址或路径

语法docker image build OPTIONS <url or path>

解决方案命令(以两种方式)

  1. docker image build -f <dockerfile> <url or path>
  2. docker build -f <dockerfile> <url or path>
  3. 例如,docker build --file ./Dockerfile.txt .

答案 1 :(得分:3)

原来我的命令中有一些隐藏的格式。如果我手动编写,而不是复制/粘贴,它的工作原理。所以我想这里吸取的教训是;检查你的复制。

答案 2 :(得分:1)

尝试这种格式

docker build --pull -t windowsserver . -f <path where dockerfile is present>

答案 3 :(得分:1)

我面临着同样的问题。我错过了命令结尾的小句号(。)。 我从官方docker docs复制并粘贴了该命令。 时期 (。)命令的末尾告诉Docker使用Shell当前的工作方式 目录作为构建上下文。 确保在命令末尾包含句点(。),并确保运行 包含Dockerfile和应用程序代码的当前工作目录中的命令。

答案 4 :(得分:1)

基本上,我曾经以为使用switch -f或--file不需要Dockerfile Path的额外输入。但是最后需要它。因此cmd应该是

“ $ docker build --tag REPO-NAME:TAG-NAME --file FILEPATH DIRPATH

答案 5 :(得分:1)

在撰写本文时,尚未在此处记录(复制和粘贴)错误-该错误位于em / en破折号中。

这些命令之一是错误的。

这是错误的字符,即–

docker build –t windowsserveriisaspnet。

这是正确的,即-

docker build -t Windowsserveriisaspnet。

答案 6 :(得分:0)

如果.Dockerfile位于当前目录中,请使用:

docker build -t windowsserveriisaspnet -f ./.Dockerfile。

所以你指向特定文件-f ./.Dockerfile并需要指向本地文件夹。 (最后点)。

答案 7 :(得分:0)

我在复制粘贴给定命令时也遇到了同样的问题。但是,当我键入下面给出的相同命令时,它起作用了。

$ docker image build -t python-hello-world .