首先,我想跟随这个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"'替换点。 (我重命名了文件)。然而似乎没有任何效果。
那么,我错过了什么?提前谢谢..
答案 0 :(得分:3)
Docker构建需要docker文件。
注意 :您必须提供存储已构建的docker镜像文件的URL或路径。您错过了提供网址或路径
语法:docker image build OPTIONS <url or path>
解决方案命令(以两种方式)
docker image build -f <dockerfile> <url or path>
docker build -f <dockerfile> <url or path>
例如,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 .